Google just released the Google Web Toolkit (GWT) 1.4 Release Candidate, a major upgrade to the company's open-source framework for writing AJAX web applications in the Java programming language. A download is available here (make sure you get the latest 1.4 version). Highlights include:
- The new ImageBundle feature creates a single composite image out of many small ones, which allows dozens of individual HTTP to be consolidated into a single request (more below).
- A simplified and enhanced startup sequence that removes one HTTP round-trip, reduces the startup script by 80%, and loads modules about 33% faster.
- Modularized RPC that lets GWT connect to your choice of Java back-ends (including JSF).
- New widgets including a RichText widget, SuggestBox, PushButton, ToggleButton, DisclosurePanel, HorizontalSplitPanel, and VerticalSplitPanel.
- Benchmarking support integrates with JUnit, enabling developers to record and compare the speed of code snippets across multiple parameter ranges.
- Improved internalization including NumberFormat and DateTimeFormat, which allow developers to easily parse and format numbers, dates, and times for users all over the world.
- Support for the mouse wheel.
- Many other enhancements.
Tech Lead Bruce Johnson was especially enthusiastic about ImageBundle:
ImageBundle is the single biggest have-to-see-it-to-believe-it feature of GWT 1.4 RC. Image bundles make it trivially easy to combine dozens of images into a single "image strip", collapsing what would have been dozens of HTTP requests into one: a single, permanently-cacheable image file.
Image bundles manage everything for you automatically, from computing clipping rectangles to making transparent PNGs work in IE6. You can even choose to get the clipped image as an Image widget or as pure HTML for inclusion in a larger HTML template.
In addition to enabling a blazing-fast startup, image bundles help make the UI look better during startup, too. Typical AJAX apps exhibit "bouncy relayout" as individual images are loaded one-at-a-time. To fix this problem has traditionally required laboriously pre-initializing the width and height of each individual image ahead of time. Image bundles do the same thing automatically. The dimensions of each clipped image are computed automatically during compilation as the bundled image file is being created. Voila! The result is a fast, non-ugly user startup experience that requires no extra work on the part of the GWT developer to keep up-to-date.
On May 31 Google Web Toolkit co-creators Bruce Johnson and Joel Webber will speak at Google Developer Day in Mountain View on the topic, "Fast, Beautiful, Easy: Pick Three -- Building User Interfaces with Google Web Toolkit."
You can find GWT 1.4 RC1 today at the GWT download page. It's licensed under the permissive Apache Software License so it can be used in a variety of different projects including open and closed source commercial products.