According to Google, the modularity of Java facilitates a higher level of code reusability. Google also claims that using Java for AJAX development is beneficial because powerful Java IDEs like Eclipse significantly increase developer productivity. GWT provides a number of unique features that contribute to more effective AJAX development. With GWT, developers assemble applications by laying out various AJAX widgets in panels and associating operations with application events.
Although Google’s Java-oriented approach is innovative, generative AJAX development is hardly a novel or unique idea. A number of other development platforms are available that provide similar functionality. Ruby on Rails, a powerful web application development platform that leverages the model-view-controller pattern, also uses sophisticated generative programming techniques to enable construction of robust AJAX applications. In general, Ruby on Rails is more conducive to rapid development than most comparable Java technologies, and Ruby code tends to be easier to read and maintain. The dynamic nature of Ruby eliminates the need for compilation, which also serves to improve developer productivity. While GWT appears to be geared towards developing AJAX interfaces with familiar desktop application idioms, Ruby on Rails provides a more comprehensive architecture that focuses less on client side functionality and includes complete support for database functionality and other elements of web application development. GWT also seems similar to Microsoft’s Atlas toolkit, which facilitates AJAX development with the .NET platform. Unfortunately, early reports indicate that Atlas provides less than stellar support for alternate browsers, a problem that will hopefully be fixed eventually when it becomes more mature.
Which platform will developers choose? Browser support and language preference are probably the two most relevant factors. Developers that favor Java will probably be more inclined to use GWT or other Java-based technologies. It is likely that many .NET developers will prefer Atlas. Ruby on Rails is best suited for developers that prefer the enhanced expressiveness of dynamic languages, or developers that need an end-to-end solution that also includes database support.