David Chandler works with the Google Developer Tools Team in Atlanta. An electrical engineer by training, Chandler got hooked on developing database Web applications in the days of NCSA Mosaic and has since written Web applications in a variety of languages, including C, perl, ksh, ColdFusion, Java, JSF, GWT, and now Dart. Prior to joining Google, Chandler worked on Internet banking applications with Intuit and launched a non-profit startup built with GWT and AppEngine. Chandler holds a patent on a method of organizing hierarchical data in a relational database and blogs about Java Web development at http://turbomanage.wordpress.com.
The asynchronous nature of GWT development requires a new way of thinking, especially for long-time server-side Web developers. How to notify views of changes to the model? Communicate between views? Cache data from service calls? And how to avoid UI spaghetti code? In this talk, you’ll get a close-up look at a real-world app using the Model View Presenter pattern as implemented by the gwt-presenter and gwt-dispatch frameworks. We’ll cover the event bus, decoupling presenters and views, making secure service calls with the Command pattern, and how GWT+MVP supports caching and an Undo feature. Learn what MVP is all about and whether it’s right for you.
Google AppEngine is a developer’s dream: one-button deployment, no servers to configure, and ultimate scalabilty. To get these benefits, however, you must learn to design within AppEngine’s constraints: no threads, no relational database, and a JRE whitelist, to name a few.
This presentation offers a peek inside a real-world GWT application deployed on AppEngine. We’ll look at working with the AppEngine database (including version upgrade considerations), how to do
background processing absent thread support, designing for quotas, and discuss one developer’s overall experience launching a startup on AppEngine.