Google is releasing v2 of GWT (pronounced “Gwit”) tonight at a Campfire One in Mountain View. The open-source Google Web Toolkit enables developers to code Ajax web apps in Java. This latest release is focused on speed (just like the latest iPhone) and improved dev-designer collaboration.
I was on a call with Bruce Johnson and Andy Bowers to learn more about the release. There are three new major features being released tonight.
Of the three SpeedTracer (screenshot above) seems to have the greatest implications. It is a separate application that allows developers to watch “where time goes” as a page is being loaded. The example Johnson gave was a recent re-write of the AdWords Campaign Manager. There’s a 100-row table that is a part of the application. In the first iteration the table took several seconds to load. Using SpeedTracer they realized that the order of the UI statements was delaying DOM translation. They changed a few lines and the table loadtime dropped to half a second.
SpeedTracer only works with Chrome. Google is making a play for the developer. And by focusing on developer tools they are likely to succeed. The speed improvements should translate to other browsers and in reality they have to. Focusing on speed improvements for a currently-minority browser would not win over many devs.
Code Splitting, the second feature, is a way of segmenting out non-essential portions of an Ajax app for future, as-needed download. The example given was that for a mail app you don’t always need to be able to write or the settings tab. You could download the code for those functions on demand. Wave apparently uses this functionality to keep their loadtimes down.
Finally, UIBinder is aimed at improving developer-designer workflow. It allows designers to hand over HTML elements in an XML Template. They can also use GWT Widget library for certain elements. Developers can easily plug their application into this XML presentation layer. This is a far cry from being able to use Photoshop mockups to generate code ala Flash Catalyst, but if the design department knows HTML it should be very handy.
GWT is increasingly being used on Google’s own applications. It was quite famously used to make Wave. It is also used on the revamped Orkut (I hadn’t been there in over a year, it has had quite a makeover), AdWords, Google Squared (labs), Google Profiles, and Moderator (20% project). DoubleClick is being converted to GWT and a lot of Google’s internal infrastructure is built using it. Quite notably some of Google’s mobile app have been built with it: Mobile Maps and Latitude for the iPhone. It’s great to see Google putting it’s money where it’s mouth is (quite literally with AdWords), but I really wonder if we’ll ever see GMail powered by GWT.
In the future I’d be surprised if there wasn’t increased support for HTML5 elements such as Canvas. I also expect that they’ll add explicit support for mobile app. Of course, using GWT doesn’t block a developer from using non-GWT functionality, but having explicit support always helps.