What Google and all the other Ajax toolsets have in common is that they take higher-level approaches that eliminate or reduce the need to write JavaScript, which is used by developers who focus on user interface, rather than business logic.
Google’s new Web Toolkit varies by incorporating an engine that directly translates Java code to JavaScript. That’s a sharply different tack from most Java Ajax toolkit providers, who instead rely on Java Server Faces to generate Ajax components.
You never need to leave your Java environment, said Bret Taylor, product manager. Given that there is a large Java talent base and ample availability of Java IDEs, Google’s strategy was to provide Java developers a way to generate Ajax web pages without having to leave their native development environments, learn new tools, or get acclimated to the looser scripting programming style of JavaScript.
Google employs a compiler that, in effect, translates the Swing and SWT-style controls supported by various Java IDE camps, to Ajax components without the need for Java developers to drop down into unfamiliar JavaScript and HTML.
The other part of the offering is a hosted web browser debugging tool that hooks into the JVM (Java Virtual Machine) for event handling. The result is that you can insert a break point in the Java program where you can run the Ajax web page and debug it.
Taylor emphasized that the Google toolkit was designed with few bells and whistles in order to maximize compatibility with all major browsers. Consequently, it lacks styling features of its own, but instead lets you rely on standard Cascading Style Sheets (CSS).
According to Taylor, Google’s rationale for releasing the tool was that scripting languages like JavaScript are not able to handle the complexities of developing sophisticated mashups for applications like Gmail or Gcalendar. That’s where you need a strongly typed language like Java, which separates data and logic from presentation.
The irony of all this is that, although both languages share a common name, they have nothing in common except for some object-orientation.
Having begun life as Netscape LiveScript, the tale associated with the strange JavaScript naming was that Mark Andreeson was able to convince Sun to lend the Java branding because it could provide an ideal complement.
While Java would be used for developing the business logic of the web page, JavaScript would be used to manipulate the visual objects, which at the time were considered documents.
Admittedly, aside from Java’s early flirtation with applets, it has typically been utilized as a conventional application development rather than a visual web page layout language. Consequently, with a tool like Google’s, it’s possible that Java developers could be given enough ammunition to become visually dangerous.