Google IO: GWT
I many 10-5 developers not working directly with ajaxified web 2.0 applications I was not able to go to the Google I/O conference. I don’t feel so bad not going since Google has just released video recordings of over 70+ technical presentations from Google I/0. Most of the technical presentations are pushing Google’s APIs such as Android, Google App Engine, GWT, and Open Social.
As an aid for myself, and maybe other GWT developers, I have organized the pertinent GWT presentations as follows…
Surprisingly Rockin’ JavaScript and DOM Programming in GWT
You may already know about GWT’s nifty JavaScript Native Interface (JSNI), which allows you to define native Java methods with handwritten JavaScript. In GWT 1.5, there’s an even more powerful way to program close to the metal. You can now model arbitrary JavaScript types directly as Java classes (specifically, as subclasses of GWT’s JavaScriptObject class), yet there is no overhead in size or speed. You can code against any JavaScript object as if it were a regular old Java object. So, what does that buy you?
GWT Extreme!
In this session, see Google Web Toolkit used in exotic and creative ways to solve interesting engineering problems, from authoring OpenSocial apps that run as both Web gadgets and native Android applications, to developing Adobe AIR applications using GWT, compiling CSS selectors to Javascript at compile time, running multithreaded code with GWT and Gears workers, or exporting GWT libraries for JavaScript users. Learn the secrets of writing “faster than possible” GWT code, how to use Generators and Linkers in harmony, and make seamless procedure calls from GWT code to other environments like Flash, Gears, or Android.
GWT and Client-Server Communication
It’s a rare Ajax application that doesn’t need network access. To the despair of many a developer, though, there are almost as many ways of communicating with a server as there are servers. The usual alphabet soup applies (XML, JSON, SOAP, RPC, and others) but even once you pick one, you’re really just getting started. Designing your services for scalability and performance is an art in itself, regardless of which format you choose to represent your data. Fortunately, a few of us have lived this nightmare and survived to talk about it.
Using GWT to Build a High Performance Collaborative Diagramming Tool
Lombardi Blueprint is a browser based business process documentation and diagramming tool written using GWT and Java. It supports simultaneous viewing and editing of process definitions by multiple users in different locations with multi level undo and a rich editing experience including drag and drop, inline editing and, automatic diagram layout. Implementing these features presented several technical challenges.
Faster-than-Possible Code: Deferred Binding with GWT
What do you do when you want the benefits of modularity and abstraction during development, but you aren’t willing to subject users with any runtime overhead to get it? If you’re the GWT team, you invent deferred binding. Deferred binding is a pluggable compile-time type substitution and code generation mechanism. This unique approach to program modularization provides many of the benefits of Java reflection and dynamic class loading without compromising the GWT compiler’s ability to optimize the heck out of your code.