Content deleted Content added
m HTTP to HTTPS for Blogspot |
|||
(136 intermediate revisions by more than 100 users not shown) | |||
Line 1:
{{Short description|Free Java library}}
{{Advert|date=October 2019}}
{{Use American English|date=December 2022}}
{{Use mdy dates|date=December 2022}}
{{Infobox software
| name = Google Web Toolkit
| logo =
| screenshot =
| caption =
| author = [[Google]]
| developer =
| released =
| latest release version = 2.
| latest release date = {{
| latest preview version =
| latest preview date =
| programming language = [[Java (programming language)|Java]]
| operating system = [[Linux]], [[Microsoft Windows|Windows]], [[
| platform =
| language = [[Java (programming language)|Java]]
| genre = [[Ajax framework]]
| license = [[Apache License
| website = {{URL|http://www.gwtproject.org/}}
}}
Line 23 ⟶ 26:
| url = http://www.gwtproject.org/GWTPolicy.html
| title = GWT Name Use Policy
| access-date = April 23, 2014
}}</ref> is an [[open-source software|open-source]] set of [[Programming tool|tools]] that allows [[web developer]]s to create and maintain [[JavaScript]] [[Front and back ends|front-end]] applications in [[Java (programming language)|Java]]. It is licensed under [[Apache License 2.0]].<ref>{{cite web
| url = http://www.gwtproject.org/terms.html
| title = Google Web Toolkit License Information
| date = February 23, 2007
| access-date = September 25, 2007
}}</ref>
GWT
== History ==
Line 39 ⟶ 40:
| url = https://code.google.com/webtoolkit/versions.html
| title = Google Web Toolkit Release Archive
| access-date = September 25, 2007
}}</ref> Google announced GWT at the [[JavaOne]] conference in 2006.<ref name="Steven_Olson_Ajax_Java">{{cite book
| last = Olson
| first = Steven Douglas
Line 91:
|-
| 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
|-
| GWT 2.12.0 || October 29, 2024
|-
| GWT 2.12.1 || November 12, 2024
|-
| GWT 2.12.2 || March 3, 2025
|}
In August 2010, Google acquired Instantiations,<ref>{{cite web|last=Ramsdale|first=Chris|title=Google Relaunches Instantiations Developer Tools|url=
In 2011 with the introduction of the [[Dart (programming language)|Dart programming language]], Google
In 2012 at their annual I/O conference, Google announced that GWT would be transformed from a Google project to a fully open
==Development with GWT==
Using GWT, developers
GWT does not revolve only around user interface programming; it is a
GWT applications can be run in two modes:
* ''Development mode'' (formerly ''Hosted mode''): The application
* ''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 [[Plug-in (computing)|plugins]] are available for making GWT development easier with other [[integrated development environment|IDEs]], including GWT4NB<ref>[http://java.net/projects/gwt4nb/pages/Home/ GWT4NB]</ref> for [[NetBeans]], Cypal Studio for GWT<ref>[https://code.google.com/p/cypal-studio/ Cypal Studio for GWT]</ref> (an [[Eclipse (software)|Eclipse]] plugin), and GWT Developer for [[JDeveloper]]. The [[Google Plugin for Eclipse]] handles most GWT
==Components==
The major GWT components include:
;GWT Java-to-JavaScript Compiler<ref>{{cite web |url = https://github.com/gwtproject/gwt/blob/master/dev/core/src/com/google/gwt/dev/Compiler.java |title = com.google.gwt.dev.Compiler |website = [[GitHub]] |quote = The main executable entry point for the GWT Java to JavaScript compiler. }}</ref><ref>{{cite web |title = com.google.gwt.dev.jjs.JavaToJavaScriptCompiler |website = [[GitHub]] |url = https://github.com/gwtproject/gwt/blob/master/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java |quote = A base for classes that compile Java <code>JProgram</code> representations into corresponding Js source. }}</ref>
: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
;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).
Line 122 ⟶ 140:
==Features==
* Dynamic and reusable [[GUI widget|UI components]]: programmers can use
| last = Perry
| first = Bruce W
Line 138 ⟶ 156:
* [[JUnit|Unit testing]] integration
* Support for [[Internationalization and localization]]
* [[HTML canvas|HTML Canvas]] support (subject to API changes)<ref>{{cite web|title=GWT Javadoc Canvas|url=http://www.gwtproject.org/javadoc/latest/com/google/gwt/canvas/client/Canvas.html}}</ref>
* The developers can mix handwritten JavaScript in the Java source code using the JavaScript Native Interface (JSNI).
* Support for using Google [[Application programming interface|APIs]] in GWT applications (initially, support for [[Google Gears]]).
* Open-source
* The developers can design and develop their
* 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
* A number of libraries are available for GWT, by Google and third parties. These extend
=== Available
As of version 2.4 (September 2011),
| url = https://developers.google.com/web-toolkit/doc/latest/RefWidgetGallery
| title = Widget List
| publisher =
|
}}</ref> and panels.<ref name="Widget List"/>
Line 220 ⟶ 238:
|}
Many common widgets not found in the GWT have been implemented in third-party libraries.
==Enterprise
GWT uses or supports [[Java (programming language)|Java]], [[Apache Tomcat]] (or similar web container), [[Eclipse IDE]], [[Internet Explorer]],<ref>[http://www.gwtproject.org/doc/latest/DevGuideIE9.html GWT Project]. GWT Project. Retrieved on
Google has noted that some of its products are
| url =
| title = Google I/O 2012 - The History and Future of Google Web Toolkit
| date = July 10, 2012
| publisher = GoogleDevelopers
|
}}</ref> [[Blogger (service)|Blogger]], [[Google Ads|AdWords]], [[Google Flights|Flights]], [[Google Wallet|Wallet]], [[Google Offers|Offers]], [[Usenet newsgroup|Groups]], [[Google Inbox|Inbox]].<ref>{{cite web |last1=Toubassi |first1=Garrick |title=Going under the hood of Inbox|url=https://gmailblog.blogspot.com/2014/11/going-under-hood-of-inbox.html |website=Official Gmail Blog|access-date=November 22, 2014}}</ref>
==GWT 2.0==
On
Version 2.0 of GWT offers a number of new features,<ref>{{cite web
| url =
| title = GWT 2.0 milestone 1 announcement
| publisher = Amit Manjhi
|
}}</ref> 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
* Code splitting: with the developer providing "split points" in the source code, the GWT compiler
* 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,
==See also==
{{Portal|Free and open-source software|Computer programming}}
* [[Dart (programming language)]]
* [[Google Plugin for Eclipse]]
* [[Google Code]]
* [[Comparison of JavaScript-based web frameworks]]
* [[Comparison of server-side web
* [[Emscripten]] for converting [[C++]] into JavaScript or [[WebAssembly]]
* [[RAS syndrome]]
==References==
{{
==Bibliography==
Line 300 ⟶ 290:
| publisher = [[Prentice Hall]]
| date = December 15, 2007
| url = http://www.informit.com/store/product.aspx?isbn=0321501969
| isbn = 978-0-321-50196-7
Line 310 ⟶ 300:
| publisher = [[Packt Publishing]]
| date = February 15, 2007
| url = http://www.packtpub.com/google-web-toolkit-GWT-Java-AJAX/book
| isbn = 978-1-84719-100-7
Line 320 ⟶ 310:
| publisher = [[Prentice Hall]]
| date = November 17, 2007
| url = http://www.informit.com/store/product.aspx?isbn=0132344815
| isbn = 978-0-13-234481-4
Line 330 ⟶ 320:
| title = GWT in Action
| edition = 2nd
| publisher = [[Manning Publications|Manning]]
| date = February 7, 2013
| isbn = 978-1-935182-84-9
}}
Line 339 ⟶ 328:
| last = Cooper
| first = Robert
| author2 = Charlie Collins
| title = GWT in Practice
| publisher = [[Manning Publications|Manning]]
| date = May 12, 2008
| url = https://archive.org/details/gwtinpractice00robe_0/page/376
| page = [https://archive.org/details/gwtinpractice00robe_0/page/376 376]
| isbn = 978-1-933988-29-0
| url-access = registration
}}
{{Application frameworks}}
{{JavaScript|state=collapsed}}
{{Java (Sun)}}
{{ECMAScript}}
{{Google
{{Widget toolkits}}
{{Rich
{{Authority control}}
[[Category:Google software|Web Toolkit]]
[[Category:Java platform]]
[[Category:JavaScript libraries]]
[[Category:Rich web application frameworks]]
[[Category:Software using the Apache license]]
[[Category:Web development software]]
|