3. GWT
Google committed to Open Source development
model
Steering Commit/Transparency
TimeBox releases (twice year)
Future focus
Mobile (reduced CPU utilization, more code splitting)
Easier “Hyrbid” apps
Smaller and faster executions
Tuesday, 6 August 13
4. GWT
GWT used extensively at Google
Adwords (97% of google revenue)
Google Groups (rewrite just announced)
Major new consumer projects about to be announced
Big chunk of internal IT
100K+ monthly auto-update pings (Eclipse)
GWT considered mature
Not investing in marketing or evangalising
Tuesday, 6 August 13
15. 6.x Requirements
Panels
Common Life cycles
Panel re-use in other frameworks
Eclipse, 3rd Party, etc
Security visibility.
Hybrid GWT + JS support (Runtime Plugins)
Tuesday, 6 August 13
18. 6.x Requirements
VFS (nio2, java backport)
GIT Backend
Seamless API for client and Server
Security
Authorization, Authentication
Seamless API for client and Server
MetaData
stored as .dot file in git for each “asset”
High Availability
GIT cluster
Tuesday, 6 August 13
32. Workbench Screen
@WorkbenchScreen(identifier = "MyFirstPanel")
public class MyFirstPanel extends SimplePanel {
public MyFirstPanel() {
setWidget( new Label("Hello World 1") );
}
@WorkbenchPartTitle
public String myTitle() {
return "My First Panel!";
}
}
Tuesday, 6 August 13
33. Workbench Screen$registerPlugin({
id: "my angular js",
type: "angularjs",
templateUrl: "angular.sample.html",
title: function () {
return "angular " + Math.floor(Math.random() * 10);
},
on_close: function () {
alert("this is a pure JS alert!");
}
});
<div ng-controller="TodoCtrl">
<span>{{remaining()}} of {{todos.length}} remaining</span>
[ <a href="" ng-click="archive()">archive</a> ]
<ul class="unstyled">
<li ng-repeat="todo in todos">
<input type="checkbox" ng-model="todo.done">
<span class="done-{{todo.done}}">{{todo.text}}</span>
</li>
</ul>
<form ng-submit="addTodo()">
<input type="text" ng-model="todoText" size="30" placeholder="add new todo here">
<input class="btn-primary" type="submit" value="add">
</form>
<form ng-submit="goto()">
<input type="text" ng-model="placeText" size="30" placeholder="place to go">
<input class="btn-primary" type="submit" value="goTo">
</form>
</div>
Tuesday, 6 August 13