To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Google Web Toolkit

From Wikipedia, the free encyclopedia

Google Web Toolkit
Original author(s)Google
Initial releaseMay 16, 2006; 17 years ago (2006-05-16)
Stable release
2.11.0 / January 9, 2024; 2 months ago (2024-01-09)
Repository
Written inJava
Operating systemLinux, Windows, MacOS, FreeBSD
Available inJava
TypeAjax framework
LicenseApache License 2.0
Websitewww.gwtproject.org

Google Web Toolkit (GWT /ˈɡwɪt/), or GWT Web Toolkit,[1] is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under Apache License 2.0.[2]

GWT emphasizes reusable approaches to everyday web development tasks, namely asynchronous remote procedure calls, history management, bookmarking, UI abstraction, internationalization, and cross-browser portability.

YouTube Encyclopedic

  • 1/5
    Views:
    182 503
    78 869
    73 956
    32 041
    29 112
  • Overview of Google Web Toolkit
  • Overview of Google Web Toolkit 2.0
  • Hello World - GWT Tutorial (Google Web Toolkit)
  • What is Google Web Toolkit - GWT Tutorial
  • Google Wave: Powered by Google Web Toolkit

Transcription

Hi, I'm Andrew Bowers, product manager for developer products at Google. I'd like to talk to you about Google Web Toolkit. Browsers are capable of a lot these days, but to take full advantage of the browser you need to be an expert in JavaScript and three or more browsers and their quirks, and potentially have a lot of time on your hands. Alternatively, you could have a good set of tools to help you out. Google Web Toolkit provides a set of tools for just that. It lets a developer write an AJAX application in the Java programming language, taking advantage of all the tools available for Java, and then cross-compiles that code into highly optimized, plain old JavaScript. JavaScript that's not only optimized per browser, but can be served from any web server. Let's see what development with Google Web Toolkit looks like. Let's look at one of the App Engine demo applications that uses Google Web Toolkit, or GWT for short. It's a sticky note application that allows surfaces to be shared among logged-in users. I'll go into Eclipse and open up this project. The source package structure is divided into client and server packages. At deploy time, Java files in the client directory will be cross-compiled into JavaScript, and run in our users' browsers. Files in the server directory will be run as bytecode on the server. Because my client code is also modeled in Java, I have the option of using the same objects across both my server and my JavaScript client. GWT provides higher-level abstraction on top of JavaScript, enabling developers to be more productive by coding against widgets and events that work across all major browsers. It's worth noting that you can also mix handwritten JavaScript into GWT source code easily. But for now, I'm just focusing on the Java aspects. Part of the development-time magic of GWT is the hosted mode browser. During development, you interact with your application in the hosted mode browser, which runs your Java bytecode on the backend to render your user interface in an embedded browser. This has two benefits. First, because we're running Java bytecode, it means you can debug as you would any Java applications, setting breakpoints, inspecting variables, and stepping through code. I'll set break points... create a new note to trigger one of them... and then inspect the variable containing the note contents. Second, you can develop using the familiar edit-refresh-view programming model of JavaScript. You don't have to compile your Java source into JavaScript to see changes in the browser. I'll change the size of a sticky note in my code... refresh the hosted mode browser... and create a note with the new dimensions. Google Web Toolkit provides an optimized RPC mechanism for Java, which means you don't have to worry about the complexity of low-level HTTP interactions. Alternatively, you can also easily use JSON to communicate with the server. When you're ready to see what your application will look like in production, you compile your source code into JavaScript. Google Web Toolkit handles the browser implementation differences for you, and creates an optimized JavaScript file per major browser. The code is contained in the cache.html files. Browser-specific JavaScript means a user downloads only what they need. An Internet Explorer user doesn't download code needed for Firefox. The compiled script is heavily optimized, including compiler optimizations like method inlining, code size reduction, such as removal of comments and unused code, and of course, the final script is obfuscated and minified. Now, if you want to inspect the final JavaScript in a human-readable form, simply compile with the "pretty" option selected. Just be sure to switch back to obfuscated before deploying, as this results in faster code and less JavaScript for the user to download. I've shown you the basics of developing with Google Web Toolkit, the benefit these tools can have on a web developer's productivity, and the performance gains you can achieve in your AJAX application. To learn more, visit code.google.com/webtoolkit.

History

GWT version 1.0 RC 1 was released on May 16, 2006.[3] Google announced GWT at the JavaOne conference in 2006.[4]

Release history
Release Date
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 7, 2009
GWT 1.7 July 13, 2009
GWT 2.0 December 8, 2009
GWT 2.1.0 October 19, 2010
GWT 2.2.0 February 11, 2011
GWT 2.3.0 May 3, 2011
GWT 2.4.0 September 8, 2011
GWT 2.5.0 October 2012
GWT 2.5.1 March 2013
GWT 2.6.0 January 30, 2014
GWT 2.6.1 May 10, 2014
GWT 2.7.0 November 20, 2014
GWT 2.8.0 October 20, 2016
GWT 2.8.1 April 24, 2017
GWT 2.8.2 October 19, 2017
GWT 2.9.0 May 2, 2020
GWT 2.10.0 June 9, 2022
GWT 2.11.0 January 9, 2024

In August 2010, Google acquired Instantiations,[5] a company known for focusing on Eclipse Java developer tools, including GWT Designer, which is now bundled with Google Plugin for Eclipse.

In 2011 with the introduction of the Dart programming language, Google reassured the GWT community that GWT would continue to be supported for the foreseeable future but also hinted at a possible rapprochement between the two Google approaches to "structured web programming". They've also admitted, however, that several of the engineers previously working on GWT are now working on Dart.[6]

In 2012 at their annual I/O conference, Google announced that GWT would be transformed from a Google project to a fully open-sourced project.[7] In July 2013, Google posted on its GWT blog that the transformation to an open-source project was complete.[8]

Development with GWT

Using GWT, developers have the ability to 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. When needed, JavaScript can also be embedded directly into Java code using Java comments.[9]

GWT does not revolve only around user interface programming; it is a broad set of tools for building high-performance client-side JavaScript functionality. Indeed, many vital architectural decisions are left entirely to the developer. The GWT mission statement[10] 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:

  • Development mode (formerly Hosted mode): The application runs as Java bytecode within the Java Virtual Machine (JVM).[11] This mode is typically used for development, supporting the hot swapping of code and debugging. In 2014, the classic implementation of Dev Mode was rendered unusable by browser updates[12][13] until its replacement with the more compatible Super Dev Mode, which became the default in GWT 2.7.[14]
  • Production mode (formerly Web mode): The application is run as pure JavaScript and HTML, compiled from the Java source. This mode is typically used for deployment.

Several open-source plugins are available for making GWT development easier with other IDEs, including GWT4NB[15] for NetBeans, Cypal Studio for GWT[16] (an Eclipse plugin), and GWT Developer for JDeveloper. The Google Plugin for Eclipse handles most GWT-related tasks in the IDE, including creating projects, invoking the GWT compiler, creating GWT launch configurations, validation, and syntax highlighting.

Components

The major GWT components include:

GWT Java-to-JavaScript Compiler[17][18]
Translates the Java programming language to the JavaScript programming language.
GWT Development Mode
Allows the developers to run and execute GWT applications in development mode (the app runs as Java in the JVM without compiling to JavaScript). Prior to 2.0, GWT hosted mode provided a special-purpose "hosted browser" to debug your GWT code. In 2.0, the web page being debugged is viewed within a regular browser. Development mode is supported by using a native-code plugin called the Google Web Toolkit Developer Plugin for many popular browsers.
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.[19]
  • Simple RPC mechanism
  • Browser history management
  • Support for full-featured Java debugging[4]
  • GWT handles some cross-browser issues for the developer.[4]
  • Unit testing integration
  • Support for Internationalization and localization
  • HTML Canvas support (subject to API changes)[20]
  • 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 applications in a pure object-oriented fashion since they're using Java (instead of JavaScript).[19] 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 (Source-Mapped or Source-Code) and easier to understand or obfuscated and compressed.[19]
  • A number of libraries are available for GWT, by Google and third parties. These extend the toolkit's features.[19]

Available widgets

As of version 2.4 (September 2011), Google Web Toolkit offers several widgets[21] and panels.[21]

Widgets and panels
Widgets Panels
Button PopupPanel
PushButton StackPanel
RadioButton StackLayoutPanel
CheckBox HorizontalPanel
DatePicker VerticalPanel
ToggleButton FlowPanel
TextBox VerticalSplitPanel
PasswordTextBox HorizontalSplitPanel
TextArea SplitLayoutPanel
Hyperlink DockPanel
ListBox DockLayoutPanel
CellList TabPanel
MenuBar TabLayoutPanel
Tree DisclosurePanel
CellTree
SuggestBox
RichTextArea
FlexTable
Grid
CellTable
CellBrowser
TabBar
DialogBox

Many common widgets not found in the GWT have been implemented in third-party libraries.

Enterprise usage

GWT uses or supports Java, Apache Tomcat (or similar web container), Eclipse IDE, Internet Explorer,[22] and internationalization and localization. Java-based GWT rich web applications can be tested using JUnit testing framework and code coverage tools. Because GWT allows compile time verification of images, CSS, and business logic, many common development defects are automatically discovered without requiring the manual testing commonly required by RIAs.

Google has noted that some of its products are GWT-based:[23] Blogger, AdWords, Flights, Wallet, Offers, Groups, Inbox.[24]

GWT 2.0

On December 8, 2009, Google launched Google Web Toolkit 2.0 with Speed Tracer.[25]

Version 2.0 of GWT offers a number of new features,[26] including:

  • In-Browser Development Mode (formerly known as Out Of Process Hosted Mode, OOPHM): prior to version 2.0, the hosted mode was 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).
  • Code splitting: with the developer providing "split points" in the source code, the GWT compiler can split the JavaScript code into several small chunks instead of one big download. This will lead to reduced application startup time as the size of the initial download is decreased.
  • 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 a 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.

Mobile

As a general framework for making web apps, Google Web Toolkit is also capable of being used as a framework for creating mobile and tablet apps, either by making the needed widgets and animations from scratch or by using one of the mobile frameworks for GWT. An HTML5 app written in GWT can have separate views for Tablets and Mobile phones.

See also

References

  1. ^ "GWT Name Use Policy". Retrieved April 23, 2014.
  2. ^ "Google Web Toolkit License Information". February 23, 2007. Retrieved September 25, 2007.
  3. ^ "Google Web Toolkit Release Archive". Retrieved September 25, 2007.
  4. ^ a b c Olson, Steven Douglas (2007). Ajax on Java. O'Reilly. p. 183. ISBN 978-0-596-10187-9.
  5. ^ Ramsdale, Chris. "Google Relaunches Instantiations Developer Tools".
  6. ^ "Google Web Toolkit Blog: GWT and Dart". Googlewebtoolkit.blogspot.com. November 10, 2011. Retrieved June 16, 2013.
  7. ^ Vaadin to Support Google Web Toolkit (GWT) Development. vaadin.com (June 29, 2012). Retrieved on 2014-05-15.
  8. ^ Google Web Toolkit Blog: GWT News. Googlewebtoolkit.blogspot.com (July 15, 2013). Retrieved on 2014-05-15.
  9. ^ "Coding Basics - JavaScript Native Interface (JSNI) - Google Web Toolkit — Google Developers". Google Inc. October 25, 2012. Retrieved June 16, 2013.
  10. ^ GWT mission statement
  11. ^ Debugging in Development Mode
  12. ^ "Development Mode will not be supported in Firefox 27+". [email protected] (Mailing list).
  13. ^ "GWT Developer Plugin no longer works with Chrome on Linux". [email protected] (Mailing list).
  14. ^ "Super Dev Mode".
  15. ^ GWT4NB
  16. ^ Cypal Studio for GWT
  17. ^ "com.google.gwt.dev.Compiler". GitHub. The main executable entry point for the GWT Java to JavaScript compiler.
  18. ^ "com.google.gwt.dev.jjs.JavaToJavaScriptCompiler". GitHub. A base for classes that compile Java JProgram representations into corresponding Js source.
  19. ^ a b c d Perry, Bruce W (2007). Google Web Toolkit for Ajax. O'Reilly Short Cuts. O'Reilly. pp. 1–5. ISBN 978-0-596-51022-0.
  20. ^ "GWT Javadoc Canvas".
  21. ^ a b "Widget List". Google Inc. Retrieved May 21, 2012.
  22. ^ GWT Project. GWT Project. Retrieved on May 15, 2014.
  23. ^ "Google I/O 2012 - The History and Future of Google Web Toolkit". GoogleDevelopers. Retrieved March 18, 2013.
  24. ^ Toubassi, Garrick. "Going under the hood of Inbox". Official Gmail Blog. Retrieved November 22, 2014.
  25. ^ Introducing Google Web Toolkit 2.0, now with Speed Tracer
  26. ^ "GWT 2.0 milestone 1 announcement". Amit Manjhi. Retrieved October 5, 2009.

Bibliography

This page was last edited on 17 March 2024, at 13:22
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.