Google is expected to roll out the latest version of the Google Web Toolkit at its developer conference.
Google
will hold its second major software developer conference May 28 and 29,
delivering a host of new technology, services and advice for developers
around the Google platform.
ADVERTISEMENT
Among the new technology expected to be delivered at the event in
San Francisco, known as Google I/O, will be a new version of the GWT
(Google Web Toolkit), sources said. Google is expected to announce the
availability of GWT 1.5 in some capacity.
The Google Web Toolkit makes it easier for Java developers to write
high-performance Asynchronous JavaScript and AJAX (Asynchronous
JavaScript and XML) applications in Java.
“You write your front end in the Java programming language and GWT
compiles your source into highly optimized JavaScript,” said a
description of GWT on Google’s Web site. “Writing Web apps today is a
tedious and error-prone process. You spend 90 percent of your time
working around browser quirks, and JavaScript's lack of modularity
makes sharing, testing and reusing AJAX components difficult and
fragile. It doesn't have to be that way.”
Although he did not address the issue of a GWT 1.5 announcement,
Bruce Johnson, a Google software engineer and tech lead for GWT, said
one of the biggest areas where Google has made a lot of progress
recently is that “we can fully support the Java 5 system” with support
for generics and annotations.
Another area of major progress is in performance. “With [GWT] 1.5,
we’ve added a whole new set of compiler optimizations,” Johnson said.
He added that “performance matters so much. With GWT, you can take a
nice Java code base and compile it into JavaScript that runs faster
than code you can write by hand.”
In addition, today any important application is going to be written
and targeted at the browser, Johnson said. With the advent of AJAX,
“you see a focus on higher functionality within the browser. But with
JavaScript there are so many browser quirks that it’s like a
minefield,” Johnson said.
He said fighting these browser quirks is not a good use of people’s
time, “so we realized a tool needed to be invented. GWT takes the focus
of using existing tools.”
Google also provides API libraries for GWT, including an API that
supports its Gears online/offline browser extension. “We provide an
out-of-the-box API in low-level JavaScript to provide a nice way to
Gears-enable your apps,” he said.
In the future, areas of focus for GWT include delivering better
tools for the platform, Johnson said. GWT currently supports all the
major Java IDE (integrated development environments), but one area of
focus might be to deliver a plug-in for Eclipse to make it even easier
to use the open-source IDE with GWT. Google also plans to continue to
drive performance with compiler optimizations and other things, Johnson
said.
Adoption of GWT has been good, Johnson said. “We gauge it by the
quality of the apps” being built with GWT, although the technology has
had millions of downloads, he said.
Lombardi Software is one GWT user that has built some compelling
technology with the Google tool. Lombardi provides BPM (business
process management) technology and services to help customers with
their process improvement initiatives. Lombardi products are built on
open standards and provide ongoing prioritization, planning, visibility
and control of business processes, said Wayne Snell, senior director of
marketing at the company.
Snell said Lombardi is using GWT because “it offers the best
platform for our engineers to quickly develop and easily maintain a
true enterprise-class Web 2.0 application using standard Java tooling
and skills.”
About two years ago, Lombardi decided to create a new product for
the BPM market that combined easy-to-use process modeling and wiki-like
collaboration for business users to document processes, Lombardi
said. The current market was full of traditional client-server
offerings that required the user to install the software locally and
set up central servers if they wanted to collaborate with other users.
“So, we designed the world’s first enterprise-class Web 2.0 process
modeling tool—Lombardi Blueprint,” Snell said. “We needed the user’s
experience to be fast, highly interactive and easy enough to use by any
business user.”
He said Lombardi looked at four or five different toolkits and even
prototyped the mapping and diagramming views in Adobe Flash and the
Dojo Toolkit before settling on GWT.
“The tooling for these other options wasn’t up to par compared to
Java IDEs and the effort to maintain straight JavaScript or
ActionScript would have become overwhelming over time,” Snell said. “In
addition, we required an enterprise-class run-time that could handle
several thousand concurrent users collaborating in real-time per
server.”
He said Lombardi developers gain four main benefits from using GWT:
support for tooling, hosted mode debugging, cross-compilation and the
ability to use existing skills in Java.
“We can use the excellent modern tools and IDEs available for Java
to write code for GWT,” Snell said. “Refactoring operations that would
be very difficult to perform directly in JavaScript can be done easily
when using GWT because the source code is Java. The tool chain for Java
development is fantastic and lots of these tools can be applied to
developing code for GWT. In the end, allowing our Java developers to
use their tools of choice speeds development compared to alternatives.”
In addition, regarding cross-compilation, “we can compile the same
GWT Java code to both JavaScript and Java byte code and run it both in
a browser and on the server,” Snell said.