Ajax Bestiary: A Javascript Field Guide
 
Ajax Bestiary: A Javascript Field Guide
 
 

GWT (Google Web Toolkit)

Posted by Don Albrecht
Name: GWT (Google Web Toolkit)
URL: http://code.google.com/webtoolkit/
Native Server Environment: JAVA
Included Widgets: Button, RadioButton, CheckBox, TextBox, PasswordTextBox, TextArea, Hyperlink, Listbox, MenuBar, Tree, Table, TabBar, Popup Panel, DialogBox, StackPanel, LayoutPanels
Download Size: Varies

GWT is definitely the odd one out when it comes to Javascript toolkits. Primarily because of the unique way in which it attempts to circumvent the fundamental shortcomings of the language. Rather than being written in Javascript, all GWT apps are written in the more robust JAVA programming language and then compiled into JS code by a set of development tools. Since this exposes the developer to many of the fundamental strengths and useful features of JAVA during the development process such as strong typing, date & math manipulation tools, Object inheritance, abstract typing & clean OO development. Similarly, since the code is compiled before deployment, there is a level of efficiency gained in limiting the produced JS files to only those resources absolutely necessary for the given application.

Google provides special development and testing harnesses to streamline this process. Designed to work with the popular Eclipse development environment. These tools can also be utilized with Sun’s NetBeans IDE as well. API’s are provided to integrate legacy JS tools & components with GWT applications.

Some Highlights
  • Ability to share code between AJAX interface & JAVA backend of application
  • Useful development tools included
  • Bypasses fundamental shortcomings of JS
  • Powerful Server Communication tools
  • Browser History Management / Back Button support
  • Unit Testing Framework
  • Straightforward Custom Widget & Compound Widget Creation
  • Google Gears Integration

Some Drawbacks

  • Google doesn’t extensively use its own framework
  • Limited Basic Widget Set
  • Lack of Drag & Drop Support (available through addons to framework)
  • GWT isn’t Javascript and requires learning a new language
  • Development tools don’t work for every dev environment

Related Posts


1 Comment

Leave a Reply