April 18, 2014
Hot Topics:
RSS RSS feed Download our iPhone app

The Twelve Days of AJAX, Page 2

  • November 27, 2006
  • By Vlad Kofman, Vlad Kofman
  • Send Email »
  • More Articles »

Google Web Toolkit: Build AJAX Apps in the Java Language

Unless you have not used the web for the last couple of years, you should know that Google (whose stock at the time of this writing hovers around $500 per share) has grown into a mini universe on the web, with its own gravitational pull. It released numerous high-profile web applications (see the References section), most of them using AJAX, and created a reputation as a heavyweight AJAX guru. Google has pioneered or enhanced many uses of the AJAX technology.

Google Web Toolkit, or GWT, is a Java framework that can auto-generate AJAX-enabled JavaScript code from Java bytecode. In other words, you code in pure Java using Google API and "when you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML," the JavaScript code produced will be AJAX enabled.

The framework is very robust with solid documentation. It covers all of the basic UI components such as Frames, Layouts, Buttons, Menus, Images, Lists, Popups, Tables, Text, Trees, and Tabs.

Here are some of the GWT features and widgets:

  • Dynamic, reusable UI components
  • RPC
  • Real debugging
  • JUnit integration
  • Internationalization
  • Interoperability and fine-grained control


The two features that are somewhat overlooked in the AJAX applications are Browser history management and Browser compatibility. When the application is designed around one or two pages with AJAX dynamic content, the browser's back button functionality is broken. The GWT claims to add state to the browser's back button history. Also, GWT alleges its applications automatically support IE, Firefox, Mozilla, Safari, and Opera with no browser detection or special-casing.

Although the framework does not emphasize the effects or the "cool" look of its UI elements, it provides a very robust development platform with a very complete set of building blocks for your applications. If you are a Java developer who wants to learn a new UI API to generate AJAX-enabled JavaScript and HTML, take a look at the GWT. The SDK is free and the documentation is easy to follow.


Script.aculo.us is a collection of JavaScript libraries, and is not a compete framework like Backbase or IceFaces. It is also an add-on to the Prototype framework. If you are looking for a quick way to add some interesting visual effects and AJAX-enable your existing web pages, Script.aculo.us can be a solution. It has a very small footprint of several JavaScript files (that you simply drop on your web server) and the usage is simple and straightforward. Some of the features that come with the Script.aculo.us JavaScript libraries are animation framework, drag and drop, AJAX controls, DOM utilities, and unit testing. The resulting code is cross-browser compatible and can add nice effects with little effort.

Some of the supported effects you can use are Appear, Fade, Puff, BlindDown, SlideDown, Shake, and so forth—check out their site for more demos Here is the screenshot of the slider control Script.aculo.us provides.

Script.aculo.us may not provide all the bells and whistles of the other frameworks, but it is server-technology agnostic and provides essential tools for the beginner AJAX developer.

Bindows 2.0

If you like the look and feel of MS-Windows and like to write XML, this commercial framework is for you. Bindows can make your web applications look just like your desktop applications. Bindows also claims to be THE #1 AJAX, WEB 2.0 AND RIA FRAMEWORK with Support Accessibility for AJAX and Web 2.0 Applications. Naturally, the SDK's main emphasis is on the UI that is defined with XML.

Here are some of Bindows' features:

  • Object-Oriented API with zero-footprint applications and a rich user-interface
  • Wide array of supported widgets including menus, forms, grids, sliders, and gauges
  • Native XML, SOAP, and XML-RPC support
  • Server-side agnostic
  • Most browsers are supported

Here is the screenshot:

Click here for a larger image.

Bindows needs to update the UI for the Vista Aero look when Windows Vista comes out. Otherwise, the applications may end up looking outdated.


DWR stands for Direct Web Remoting. It is an open source library that has wrappers on top of the asynchronous communication with the server, and can simplify AJAX style coding. DWR "allows code in a browser to use Java functions running on a web server just as if it was in the browser". To do so, it provides a server-side part and a client-side part that do DOM manipulations and the AJAX effects.

DWR dynamically generates JavaScript based on Java classes and uses AJAX callbacks to talk to the server "simulating" RPC mechanisms such as RMI or SOAP over the HTTP protocol.

Here is the diagram of the architecture:

It seems that DWR is designed for developers more than for designers and calls for understanding of the Java and JavaScript coding practices. It has a thorough documentation and helps developers start with it via tutorials and code examples.

SmartClient: AJAX GUI System smartclient.com

SmartClient is an enterprise-grade commercial UI framework. It has the largest amount of prepackaged UI components, with different effects, animations, interactive actions, and a distinct look and feel among other frameworks. The sheer amount of the UI components (and their flexibility) makes it easy to build desktop-"like" behavior in web applications that use SmartClient.

The framework supports modern service-oriented architectures with declarative binding to WSDL and REST web services. It also understands metadata formats, such as XML schema, allowing a rich shared client-server data model. Some of the clients for SmartClient are Philips, Intuit, and PeopleSoft.

Here are some of the many components available:

Note the subtle shadow effect, which can be customized for some components.

Click here for a larger image.

SmartClient is available for a free developer evaluation. The enterprise license is per project, but a standard license for small deployments (one CPU or 50 concurrent users) is US $4995. If you are a corporate developer who needs to design a very robust web application that mimics desktop application behavior, take a look at SmartClient.

Page 2 of 3

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Sitemap | Contact Us

Rocket Fuel