Google Web Toolkit

Google Web Toolkit

Infobox Software
name = Google Web Toolkit



caption =
author = Google
developer =
released = May 16, 2006
latest release version = 1.5.2
latest release date = August 27, 2008
latest preview version =
latest preview date =
programming language = Java
operating system = Windows, Mac OS X, Linux
platform =
language = Java
status =
genre = Ajax framework
license = Apache License 2.0
website = http://code.google.com/webtoolkit

Google Web Toolkit (GWT) is an open source Java software development framework that allows web developers to create Ajax applications in Java. It is licensed under the Apache License version 2.0. [cite web
url = http://code.google.com/webtoolkit/terms.html
title = Google Web Toolkit License Information
pubilsher = Google
date = February 23, 2007
accessdate = 2007-09-25
]

GWT emphasizes reusable, efficient solutions to recurring Ajax challenges, namely asynchronous remote procedure calls, history management, bookmarking, and cross-browser portability.

History

GWT version 1.0 RC 1 (build 1.0.20) was released on May 16, 2006. [cite web
url = http://code.google.com/webtoolkit/versions.html
title = Google Web Toolkit Release Archive
publisher = Google
accessdate = 2007-09-25
] Google announced GWT at the JavaOne conference, 2006.cite book
last = Olson
first = Steven Douglas
title = Ajax on Java
publisher = O'Reilly
year = 2007
isbn = 978-0596101879
pages = 183
]

Release history:
* 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

Currently it is at 1.5.2 - the first official release of 1.5.

Development

Using GWT, developers can rapidly develop and debug AJAX applications in the Java language using the Java development tools of their choice. When the application is deployed, the GWT cross-compiler translates the Java application to standalone JavaScript files that are optionally obfuscated and deeply optimized.

GWT does not revolve only around user interface programming; it is a general set of tools for building any sort of high-performance client-side JavaScript functionality. In live presentations, the developers of GWT emphasize that "GWT is not its libraries" and that it only "includes" a library but is not fundamentally yet another AJAX library. This open-ended philosophy sometimes surprises developers new to GWT who expect it to provide an end-to-end "on rails" application framework. Indeed, many key architectural decisions are left completely to the developer. [http://code.google.com/webtoolkit/makinggwtbetter.html#introduction The GWT mission statement] clarifies the philosophical breakdown of GWT's role versus the developer's role. History is an example of such: although GWT manages history tokens as users click Back or Forward in the browser, it does not prescribe how to map history tokens to an application state.

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.
* "Web mode": The application is run as pure JavaScript and HTML, compiled from the Java source. This mode is typically used for deployment.

A command-line utility shipped with GWT, applicationCreator, automatically generates all the files needed to start a GWT project. It can also generate Eclipse project files. Several open-source plugins are available for making GWT development easier with IDEs. E.g., [https://gwt4nb.dev.java.net/ GWT4NB] for NetBeans, [http://code.google.com/p/cypal-studio/ Cypal Studio for GWT] for Eclipse, [http://www.gdevelop.com/?q=node/2 gwtDeveloper] for JDeveloper etc.

Components

The major GWT components include:

;GWT Java-to-JavaScript Compiler:Translates the Java programming language to the JavaScript programming language.;GWT Hosted Web Browser:Allows the developers to run and execute GWT applications in hosted mode (the app runs as Java in the JVM without compiling to JavaScript).;JRE emulation library:JavaScript implementations of the commonly used classes in the Java standard class library (such as most of the java.lang package classes and a subset of the java.util package classes).;GWT Web UI class library:A set of custom interfaces and classes for creating widgets.

Features

* 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.cite book
last = Perry
first = Bruce W
title = Google Web Toolkit for Ajax
series = O'Reilly Short Cuts
publisher = O'Reilly
year = 2007
isbn = 978-0596510220
pages = 1-5
]
* 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
* The developers can mix handwritten JavaScript in the Java source code using the JavaScript Native Interface (JSNI).
* Support for using Google APIs in GWT applications (initially, support for Google Gears)
* Open-source
* The developers can design and develop their application in a pure object-oriented fashion, since they're using Java (instead of JavaScript). Common JavaScript errors, such as typos and type mismatches, are caught at compile time.
* The JavaScript that the GWT compiler generates can be tailored to be either unobfuscated and easy to understand or obfuscated and smaller to download.
* A number of libraries are available for GWT, by Google and third parties. These extend GWTs features.

Available widgets

As of version 1.4 (August 2007), GWT offers several widgets: [cite web
url = http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.WidgetGallery.html
title = Widgets Gallery
publisher = Google
accessdate = 2007-09-25
]
* HTML primitives (Button, Radio Button, Checkbox, TextBox, PasswordTextBox, TextArea, Hyperlink, ListBox, Table etc.)
* PushButton, ToggleButton
* MenuBar
* Tree
* TabBar
* DialogBox
* Panels (PopupPanel, StackPanel, HorizontalPanel, VerticalPanel, FlowPanel, VerticalSplitPanel, HorizontalSplitPanel, DockPanel, TabPanel, DisclosurePanel)
* RichTextArea
* SuggestBox (auto-complete)

Many common widgets not found in the GWT have been implemented in third-party libraries, such as [http://extjs.com/products/gxt/ Ext GWT] , [http://gwt.components.googlepages.com/ GWT Component Library] , [http://code.google.com/p/gwt-ext/ GWT-Ext] , [http://gwt-widget.sourceforge.net/ GWT Widget Library] , [http://gwtiger.org/ GWTiger] , [http://code.google.com/p/rocket-gwt/ Rocket GWT] , [http://code.google.com/p/tatami/ Dojo] etc.

ee also

* Google Code
* Microsoft Live Labs Volta a similar approach from Microsoft
* Comparison of JavaScript frameworks

References

Bibliography

* cite book
last = Dewsbury
first = Ryan
title = Google Web Toolkit Applications
publisher = Prentice Hall
year = 2007
isbn = 978-0321501967

* cite book
last = Chaganti
first = Prabhakar
title = Google Web Toolkit: GWT Java Ajax Programming
publisher = Packt Publishing
year = 2007
isbn = 978-1847191007

* cite book
last = Geary
first = David
title = Google Web Toolkit Solutions: More Cool & Useful Stuff
publisher = Prentice Hall
year = 2007
isbn = 978-0132344814

* cite book
last = Hanson
first = Robert
coauthors = Adam Tacy
title = GWT in Action: Easy Ajax with the Google Web Toolkit
publisher = Manning
year = 2007
isbn = 978-1933988238

* cite book
last = Cooper
first = Robert
coauthors = Charlie Collins
title = GWT in Practice
publisher = Manning
year = 2008
isbn = 978-1933988290

External links

* [http://code.google.com/webtoolkit/ GWT homepage on Google code]
* [http://googlewebtoolkit.blogspot.com/ Official GWT blog]
* [http://groups.google.com/group/Google-Web-Toolkit Official GWT forums]
* [http://www.VoicesThatMatter.com/GWT2007 Conference on GWT organized by Addison-Wesley, Prentice Hall and Pearson Education]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Google Web Toolkit — Тип Ajax framework Разработчик Google Написана на Java Операционная система Windows NT, Mac OS X …   Википедия

  • Google Web Toolkit — Autor Google http://code.google.com/webtoolkit Información general Última versión estable 2.4.0 …   Wikipedia Español

  • Google Web Toolkit — Entwickler Google Inc. Aktuelle Version 2.4 (8. September 2011) Betriebssystem Windows, Linux, Mac OS X, Solaris Kategorie …   Deutsch Wikipedia

  • Google web toolkit — (GWT) est un ensemble d outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en oeuvre JavaScript, en utilisant le langage et les outils Java. C est un logiciel libre distribué selon les… …   Wikipédia en Français

  • Google Web Toolkit — (GWT) est un ensemble d outils logiciels développé par Google, permettant de créer et maintenir des applications web dynamiques mettant en œuvre JavaScript, en utilisant le langage et les outils Java. C est un logiciel libre distribué selon les… …   Wikipédia en Français

  • Google translator toolkit — (kit de herramientas de traducción de Google) es un servicio Web diseñado para permitir que los traductores corrijan las traducciones que el Traductor de Google (Google Translate) genera automáticamente. Con el kit de herramientas de Google, los… …   Wikipedia Español

  • Google Web Accelerator — Google Web Accelerator  программа, позволяющая сжимать трафик, а также заранее загружать сайты, если вероятность того, что вы их посетите, высока. В настоящее время уже не поддерживается и недоступна для скачивания. Программа интегрировалась …   Википедия

  • Google Web Server — Pour les articles homonymes, voir GWS. Google Web Server …   Wikipédia en Français

  • Google Code — URL …   Википедия

  • Google Code — es un sitio de Google para desarrolladores interesados en el desarrollo Google related/open source. El sitio contiene códigos de fuente abiertos, una lista de sus servicios de apoyo público y API. Contenido 1 Proyectos 1.1 Gears 1.2 Google Web… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”