Google Web Toolkit
From Seo Wiki - Search Engine Optimization and Programming Languages
GWT emphasizes reusable, efficient solutions to recurring Ajax challenges, namely asynchronous remote procedure calls, history management, bookmarking, Internationalization and cross-browser portability.
- GWT 1.0 May 17, 2006
- GWT 1.1 August 11, 2006
- GWT 1.2 November 16, 2006
- GWT 1.3 February 5, 2007
- GWT 1.4 August 28, 2007
- GWT 1.5 August 27, 2008
- GWT 1.6 April 07, 2009
- GWT 1.7 July 13, 2009
- GWT 2.0 December 08, 2009
Development with GWT
GWT applications can be run in two modes:
- Hosted mode: The application is run as Java bytecode within the Java Virtual Machine (JVM). This mode is typically used for development, supporting hot swapping of code and debugging.
Google provides a plugin for Eclipse which handles most GWT related tasks in the IDE, including creating projects, invoking the GWT compiler, creating GWT launch configurations, validations, syntax highlighting, etc.
The major GWT components include:
- GWT Hosted Web Browser
- JRE emulation library
- GWT Web UI class library
- A set of custom interfaces and classes for creating widgets.
- Dynamic and reusable UI components: programmers can use pre-designed classes to implement otherwise time-consuming dynamic behaviors, such as drag-and-drop or sophisticated visual tree structures.
- Simple RPC mechanism
- Browser history management
- Support for full-featured Java debugging
- GWT handles all cross-browser issues for the developer.
- JUnit integration
- Easy internationalization
- Support for using Google APIs in GWT applications (initially, support for Google Gears)
- A number of libraries are available for GWT, by Google and third parties. These extend GWT's features.
- HTML primitives (Button, Radio Button, Checkbox, TextBox, PasswordTextBox, TextArea, Hyperlink, ListBox, Table etc.)
- PushButton, ToggleButton
- Panels (PopupPanel, StackPanel, HorizontalPanel, VerticalPanel, FlowPanel, VerticalSplitPanel, HorizontalSplitPanel, DockPanel, TabPanel, DisclosurePanel)
- SuggestBox (auto-complete)
The Google Web Toolkit Incubator has additional widgets undergoing development (and likely to be released in future versions of GWT).
Version 2.0 of GWT will offer a number of new features, including:
- In-Browser Development Mode (formerly known as Out Of Process Hosted Mode, OOPHM): prior to version 2.0, hosted mode used to embed a modified browser to allow running the bytecode version of the application during development. With version 2.0, hosted mode, renamed "development mode", allows using any (supported) browser to view the page being debugged, through the use of a browser plugin. The plugin communicates with the development mode shell using TCP/IP, which allows cross platform debugging (for example, debugging in Internet Explorer on Windows from a development mode shell running on a Linux machine).
- Declarative User Interface: using an XML format, the new feature known as UiBinder allows the creation of user interfaces through declaration rather than code. This allows clean separation of UI construction and behavior implementation.
- Resource bundling: the ClientBundle interface will allow resources of any nature (images, CSS, text, binary) to be bundled together and transferred in one download, resulting in fewer round-trips to the server and hence lower application latency.
Since the new development mode removed most platform-specific code, the new version will be distributed as a unique archive, instead of one per supported platform as was the case with previous versions.
- Google Code
- Vaadin, a similar framework, which is based on GWT
- SmartGWT, a GWT framework with a comprehensive widget library
- Comparison of web application frameworks
- Pyjamas (software) Pyjamas, a port of GWT to Python
- RubyJS, a port of GWT to Ruby
- Microsoft Live Labs Volta, a similar approach from Microsoft
- UltraLightClient, a Java based approach for Rich Internet Applications
- Wt - Web toolkit, a C++ Web tool kit http://www.webtoolkit.eu/wt
- ↑ "Google Web Toolkit License Information". Google. February 23, 2007. http://code.google.com/webtoolkit/terms.html. Retrieved 2007-09-25.
- ↑ "Google Web Toolkit Release Archive". Google. http://code.google.com/webtoolkit/versions.html. Retrieved 2007-09-25.
- ↑ 3.0 3.1 3.2 Olson, Steven Douglas (2007). Ajax on Java. O'Reilly. p. 183. ISBN 978-0596101879.
- ↑ 4.0 4.1 4.2 4.3 Perry, Bruce W (2007). Google Web Toolkit for Ajax. O'Reilly Short Cuts. O'Reilly. pp. 1–5. ISBN 978-0596510220.
- ↑ "Widgets Gallery". Google. http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.WidgetGallery.html. Retrieved 2007-09-25.
- ↑ Introducing Google Web Toolkit 2.0, now with Speed Tracer
- ↑ Google unveils new version of Web Toolkit
- ↑ "GWT 2.0 milestone 1 announcement". Amit Manjhi. http://groups.google.com/group/google-web-toolkit/browse_thread/thread/8b79ebe444b9126d. Retrieved 2009-10-05.
- Dewsbury, Ryan (December 15, 2007). Google Web Toolkit Applications. Prentice Hall. pp. 608. ISBN 978-0321501967. http://www.informit.com/store/product.aspx?isbn=0321501969.
- Chaganti, Prabhakar (February 15, 2007). Google Web Toolkit: GWT Java Ajax Programming. Packt Publishing. pp. 248. ISBN 978-1847191007. http://www.packtpub.com/google-web-toolkit-GWT-Java-AJAX/book.
- Geary, David (November 17, 2007). Google Web Toolkit Solutions: More Cool & Useful Stuff. Prentice Hall. pp. 408. ISBN 978-0132344814. http://www.informit.com/store/product.aspx?isbn=0132344815.
- Hanson, Robert; Adam Tacy (June 5, 2007). GWT in Action: Easy Ajax with the Google Web Toolkit. Manning. pp. 632. ISBN 978-1933988238. http://www.manning.com/hanson/.
- Cooper, Robert; Charlie Collins (May 12, 2008). GWT in Practice. Manning. pp. 376. ISBN 978-1933988290. http://www.manning.com/cooper/.
- GWT homepage on Google code
- Official GWT blog
- Official GWT forums
- GWT Tutorials Tutorials with source code
- Google Web Toolkit Incubator
- Conference on GWT organized by Addison-Wesley, Prentice Hall and Pearson Education
- GWT-Unite is a library/framework which allows Opera Unite applications to be written using the Google Web Toolkit.