Google Web Toolkit

From The Unofficial Google Wiki

Jump to: navigation, search
 

The Google Web Toolkit (GWT) is an AJAX development tool from Google, targeted for Java Developers. Web applications (both GUIs and RPCs) are written in Java using the GWT API. The Java files are then compiled into compact, obfuscated, browser-specific JavaScript files. A small bit of loading JavaScript determines which browser-specific script file gets used depending on the user-agent. The API libray is licensed under the Apache 2.0 license. The GWT-Compiler was originally licensed under a proprietary license, but the most recent version is also licensed under the Apache 2.0 license.

Contents

[edit] Online Sample Applications

These live sample applications have begun to scratch the surface of what can be done with the GWT framework.

[edit] 3rd Party Libraries

[edit] Widgets

The GWT has only a small set of 20 widgets but it is very easy to extend. There is already a large list of open source extensions. If you have written your own widget then you can add it to the list. If you have no place to host your component then you can save it in this Wiki. If you host it in this Wiki then it will be license under the public domain. If you want save it under LGPL then you can add it to the GWT Component Library.

For a more complete and up to date list see gwtPowered.org.

Widget Description Library / Homepage License
GWT Canvas Canvas support for the Google Web Toolkit. This widget runs natively on IE, Firefox, Opera, Safari... no more excanvas needed :) Please note that GWT 1.5 M1 or higher is mandatory! gwt-canvas Apache License 2.0
Login Panel A widgets that provides controls relevant to a login prompt GWT-Stuff Apache License
Rich Text Area Another WYSIWYG HTML Editor with font, color, link ... features GWT Widgets LGPL
Rich Text Editor A WYSIWYG HTML Editor. GWT Addons LGPL or Apache 2.0
HTML (Rich Text) Editor WYSIWYG HTML (Rich Text) Editor Widget HTML (Rich Text) Editor Widget Apache 2.0
Image Button A Image Button with Tooltip. CSS L&F for default, roll over and pressed. GWT Addons LGPL or Apache 2.0
Tooltip A real tooltip that show after a second on the mouse position. GWT Addons LGPL or Apache 2.0
FileUploadField A file upload form field widget. GWT Widget Library LGPL
FormPanel An HTML form widget. GWT Widget Library LGPL
ImageButton Use an image as a button. GWT Widget Library LGPL
OptionList A ListBox extension. GWT Widget Library LGPL
PNGImage Image widget that overcomes PNG browser incompatabilities. GWT Widget Library LGPL
RoundedPanel Rounded corners like GMail gwt.bouwkamp.com Apache License 2.0
Future Earth Gwt Library A collection of widgets (Calander with week and month view) Project Page Apache License 2.0
Canvas Widget A Graphics Widget GWT Component Library LGPL 2.1
Round Corners Border with round corners GWT Component Library LGPL 2.1
Simple Calendar A embedded calendar GWT Component Library LGPL 2.1
RateIt Control RateIt widget similar to netflix.com, and amazon.com star ratings. You can use mouse and keyboard (left, right, and number keys) to select rating. GWT Component Library LGPL 2.1
Script.aculo.us Effects Integration This component allows you to use Script.aculo.us effects from GWT. GWT Component Library LGPL 2.1
Auto-Completion Textbox A textbox that has a list of string values that will be automatic completed on edit the text. GWT Component Library LGPL 2.1
Simple XML Parser Allows to parse XML with GWT GWT Component Library LGPL 2.1
Hyperlink with Image Hyperlink which allows you to specify Image object as its content. Go ahead, implement your favority rollover effects with it. GWT Component Library LGPL 2.1
Tooltip Listener Allows you to add tooltips (small help messages) to any component that support SourcesMouseEvents interface. GWT Component Library LGPL 2.1
Simple Date Picker A text box and a popup calendar. Parvinder Thapar LGPL 2.1
Sortable Table Widget Client-side sorting of the Table Parvinder Thapar LGPL 2.1
GoogleMaps A widgets that support the Google Map API GWT - Custom Components Apache License
FlashPlayer A widget to play flash movies. GWanTed LGPL
LegendPanel A widget to layout widgets in a legend way. GWanTed LGPL
HttpRequestExt To do sync HTTPRequest downloads. GWanTed LGPL
Navigator A simple wrapper for the navigator DOM object. GWanTed LGPL
ExternalHyperlink Allow you to use external hyperlinks. GWanTed LGPL
AbstractJavascriptClass This class is a base class that let wrap a javascript object in an external javascript file in a GWT class. GWanTed LGPL
ToolItem An ImageButton widget alternative. GWanTed LGPL
RowPanel Think VerticalPanel with more layout flexibilty. GWT Tk Apache 2.0
ColumnPanel Think HorizontalPanel with more layout flexibilty. GWT Tk Apache 2.0
DropDownPanel An expandable panel with a header like "Labels" in Gmail. GWT Tk Apache 2.0
SimpleHyperLink A simple anchor widget. No DIV messing up text flow, no history tokens added to the location field. GWT Tk Apache 2.0
GlassPanel A stylable panel which preventa interaction with the entire document ("light box" effect). GWT Tk Apache 2.0
ModalDialog A modal dialog featuring focus containment, "light box" effect, automatic centering and more. GWT Tk Apache 2.0
AlertDialog A modal dialog tailored to conveniently displaying alert messages. GWT Tk Apache 2.0
Slider Widget A simple slider widget to enter numeric values. Sphene's GWT Widgets LGPL
LightboxImage Widget It's a simple, lightweight widget, that overlays image on top of browser window with amazing visual effects. TheRandomHomepage Widgets Apache 2.0
IntervalSelector Select easily an interval of time between two dates. Configurable: internationalization, limits, layout etc. GWTChismes Apache 2.0
Calendar DatePicker Calendar dialog for date selection, fully configurable. It also has useful static methods to manipulate Dates. GWTChismes Apache 2.0
Wait Dialog A dialog that covers the page with a semitransparent layer and shows a message and an animated image. GWTChismes Apache 2.0
Print Button A simple button to send the page to the printer. The button is hidden for few seconds for avoid printing it. GWTChismes Apache 2.0
Alert Dialog An alert dialog GWTChismes Apache 2.0
GWTCButton Extension of gwt-button that supports mouse events. It adds a class when the mouse is over the button (this is a workaround for IE6) GWTChismes Apache 2.0
GWT2SWF Flash/Flex Widget for GWT GWT2SWF Apache 2.0
HTMLTemplateWidget Widget that allows you to embed html files in your GWT applications HTMLTemplateWidget Apache 2.0
EditableGrid The grid that allows content editing Advanced GWT Components Apache 2.0
HierarchicalGrid The grid that allows representing complicated data models as a structure of subgrids Advanced GWT Components Apache 2.0
TreeGrid The grid that allows diplaying tree data models. Advanced GWT Components Apache 2.0
MasterDetailPanel Master-Detail dependency implementation for a tree of grids. Advanced GWT Components Apache 2.0
Pager The widget for paging. Advanced GWT Components Apache 2.0
DatePicker The localizable date picker. Advanced GWT Components Apache 2.0
ComboBox CSS applicable combo box implementation (not select list!). Advanced GWT Components Apache 2.0
SuggestionBox Extension of the ComboBox that allows loading list items lazily on a change event. Advanced GWT Components Apache 2.0


[edit] Plugins

The support for the different IDE's and tools is very poor currently. But there are some plugins under construction. Here is a list of such plugins. If we have overlooked one then add it.


[edit] Tools


[edit] For other languages

  • GWTPHP It is a PHP port for GWT Server (RemoteServiceServlet). With GWTPHP you can connect GWT application with PHP. It decode/encode GWT request/response using GWT native data interchange format. No JSON or XMLRPC needed.

[edit] Compare GWT with other AJAX Frameworks

Feature GWT ZK Echo2 Java2Script Dojo Toolkit
Open Source Yes Yes Yes Yes Yes
Runtime License Apache 2 GPL + Commercial LGPL LGPL BSD
Compiler License Apache 2 GPL + Commercial LGPL LGPL -
Place of program logic Client
(Optional Server for RPC)
Server Server Client Client
Programming Language Java - GWT API XML Java Java - SWT API Javascript
Ajax program download size Increment with Program Logic Const Increment with Program Logic Increment with Program Logic Increment with Program Logic
Count of Widget 40


[edit] Tutorials

[edit] Links

Personal tools