Share to: share facebook share twitter share wa share telegram print page

Google Web Toolkit

Google Web Toolkit
Original author(s)Google
Initial releaseMay 16, 2006; 18 years ago (2006-05-16)
Stable release
2.12.1 / November 12, 2024; 2 months ago (2024-11-12)
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 supports various web development tasks, such as asynchronous remote procedure calls, history management, bookmarking, UI abstraction, internationalization, and cross-browser portability.

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
GWT 2.12.0 October 29, 2024
GWT 2.12.1 November 12, 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 stated that GWT would continue to be supported for the foreseeable future while also hinting at a possible rapprochement between the two Google approaches to structured web programming. However, they also mentioned 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 completed.[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 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 detail 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 built-in classes to implement otherwise time-consuming dynamic behaviors, such as drag-and-drop or complex 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+". google-web-toolkit@googlegroups.com (Mailing list).
  13. ^ "GWT Developer Plugin no longer works with Chrome on Linux". google-web-toolkit@googlegroups.com (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. July 10, 2012. 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

Read other articles:

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut). …

Posadas merupakan kota yang terletak di Argentina bagian utara. Penduduknya berjumlah 313.000 jiwa (2004). Selebriti kelahiran Posadas José Acasuso, petennis Alberto Mancini, petennis Daniel Vancsik, pegolf Mariano Messera, pemain sepak bola Pranala luar Pusat perbelanjaan The Posadas Plaza. (Spanyol) Municipality of Posadas - Situs resmi. (Spanyol) Universidad Nacional de Misiones Posadas Information Artikel bertopik geografi atau tempat Argentina ini adalah sebuah rintisan. Anda dapat membant…

الرابطة التونسية المحترفة الأولى 2009–10 تفاصيل الموسم 2009–10 النسخة 55  البلد تونس  التاريخ بداية:26 يوليو 2009  نهاية:15 مايو 2010  المنظم الجامعة التونسية لكرة القدم  البطل الترجي الرياضي التونسي (22) مباريات ملعوبة 182 عدد المشاركين 14   أهداف مسجلة 416 معدل الأهداف 2.29 اله…

Location of Perry County in Pennsylvania This is a list of the National Register of Historic Places listings in Perry County, Pennsylvania. This is intended to be a complete list of the properties and districts on the National Register of Historic Places in Perry County, Pennsylvania, United States. The locations of National Register properties and districts for which the latitude and longitude coordinates are included below, may be seen in a map.[1] There are 23 properties and dist…

1994 single by the Offspring Come Out and PlaySingle by the Offspringfrom the album Smash B-sideSessionCome Out and Play (acoustic)ReleasedMarch 10, 1994Recorded1994GenrePunk rock[1][2]Length3:17LabelEpitaphSongwriter(s)Dexter HollandProducer(s)Thom WilsonThe Offspring singles chronology I'll Be Waiting (1986) Come Out and Play (1994) Self Esteem (1994) Come Out and Play (sometimes subtitled Keep 'Em Separated)[3] is a 1994 song by the American punk rock band the Offsprin…

Asteroid and near-Earth object 2100 Ra-ShalomShape model of Ra-Shalom from its lightcurveDiscovery [1]Discovered byE. F. HelinDiscovery sitePalomar Obs.Discovery date10 September 1978DesignationsMPC designation(2100) Ra-ShalomPronunciation/ˌrɑː ʃəˈloʊm/[2]Named afterRa and Shalom(composed name)[3]Alternative designations1978 RA · 1975 TBMinor planet categoryNEO · Aten [1][4]Orbital cha…

Croatian musician (born 1966) Marko PerkovićPerković performing live in August 2013Born (1966-10-27) 27 October 1966 (age 57)Čavoglave, SR Croatia, YugoslaviaNationalityCroatianOccupationSinger-songwriterYears active1991–presentSpouses Danijela Martinović ​ ​(m. 1995; div. 1998)​ Sandra Rogić ​(m. 2003)​Children5Musical careerGenresPop rockalbum-oriented rockfolk rockhard rockheavy metalprogressive meta…

Pasar BeringharjoꦥꦱꦂꦧꦼꦫꦶꦁꦲꦂꦗTampak muka Pasar Beringharjo.LokasiKota Yogyakarta, Daerah Istimewa YogyakartaAlamatJalan Marga Mulya No.16Kelurahan Ngupasan, Kemantrèn GondomananKota Yogyakarta 55122Tanggal dibuka1758PengurusUPT Pusat Bisnis dan Pasar Beringharjo Dinas Perdagangan Kota YogyakartaJumlah toko dan jasa5441[1]Jumlah lantai5 (3 disisi barat, 2 disisi timur)Akses transportasi umum 1A   2A   3A   8   10  …

Voce principale: Associazione Calcio Reggiana 1919. AC ReggianaStagione 1973-1974 Sport calcio Squadra Reggiana Allenatore Ezio Galbiati (1ª-19ª) Grevi e Campari (20ª-38ª) Presidente Carlo Visconti Serie B17º Coppa ItaliaPrimo turno Maggiori presenzeCampionato: Donina, Zandoli (38) Miglior marcatoreCampionato: Zandoli (12) StadioMirabello Abbonati2 950 Maggior numero di spettatori13 773 vs Ascoli(2 giugno 1974) Minor numero di spettatori5 710 vs Perugia(28 aprile 1974) M…

Stock exchange in Dhaka, Bangladesh Dhaka Stock Exchangeঢাকা স্টক এক্সচেঞ্জTypeStock ExchangeLocationDhaka, BangladeshCoordinates23°50′10″N 90°25′02″E / 23.8360°N 90.4173°E / 23.8360; 90.4173Founded1954; 70 years ago (1954)OwnerDhaka Stock Exchange LimitedKey peopleProf. Dr. Hafiz Md. Hasan Babu (Chairman) Dr. ATM Tariquzzaman (Managing Director)CurrencyBangladeshi taka (৳)No. of listings651&…

MMA event in 2021 UFC Fight Night: Edwards vs. MuhammadThe poster for UFC Fight Night: Edwards vs. MuhammadInformationPromotionUltimate Fighting ChampionshipDateMarch 13, 2021 (2021-03-13)VenueUFC ApexCityEnterprise, Nevada, United StatesAttendanceNone (behind closed doors)[1]Event chronology UFC 259: Błachowicz vs. Adesanya UFC Fight Night: Edwards vs. Muhammad UFC on ESPN: Brunson vs. Holland UFC Fight Night: Edwards vs. Muhammad (also known as UFC Fight Night 187, UFC …

Dalam agama Katolik, istilah kongregasi dapat mengacu ke pada jenis struktur administratif dalam Gereja Katolik Roma dalam Kuria Romawi atau dalam lembaga keagamaan. Kuria Romawi Artikel utama: Kuria Romawi Pejabat tertinggi dalam Kuria Romawi disebut kongregasi. Di bawahnya terdapat dewan kepausan dan komisi kepausan. Pada awalnya, kongregasi dipilih dari sekelompok kardinal, bukan dari keseluruhan kardinal, ditugaskan untuk mengurusi beberapa bidang kegiatan yang berhubungan dengan Tahta Suci.…

Voce principale: Aachener Turn- und Sportverein Alemannia 1900. Aachener Turn- und Sportverein Alemannia 1900Stagione 2012-2013Sport calcio Squadra Alemannia Aquisgrana Allenatore Ralf Aussem (1ª-8ª) René van Eck (9ª-38ª) All. in seconda Sebastian Hahn 3. Liga20º posto Coppa di GermaniaPrimo turno Maggiori presenzeCampionato: Heller (37)Totale: Heller (38) Miglior marcatoreCampionato: Kefkir (6)Totale: Kefkir (6) StadioStadio Tivoli Maggior numero di spettatori19 543 vs. Borussia…

L'arte tardoantica è la produzione artistica durante la tarda antichità, ovvero il periodo che grossomodo va dal III al VI secolo. In questo periodo si registrò una profonda trasformazione politica, sociale, culturale ed artistica, che condusse dall'antichità al medioevo. Anche l'arte ne uscì profondamente trasformata, conseguendo una rottura definitiva con la tradizione naturalista dell'arte greca e dando origine, alla fine di un lungo processo, alle nuove civiltà bizantina e caroling…

1894 short story by Rudyard Kipling This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Letting in the Jungle – news · newspapers · books · scholar · JSTOR (June 2015) (Learn how and when to remove this message) Illustration from Letting in the Jungle in Rudyard Kipling's The Second Jungle Book. Letting In the Jung…

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Reliance Bank – news · newspapers · books · scholar · JSTOR (December 2018) (Learn how and when to remove this message) Reliance Bank LimitedCompany typePrivateIndustryFinancial servicesFounded1892HeadquartersLondon, United KingdomProductsFinancial servicesRevenue…

密西西比州 哥伦布城市綽號:Possum Town哥伦布位于密西西比州的位置坐标:33°30′06″N 88°24′54″W / 33.501666666667°N 88.415°W / 33.501666666667; -88.415国家 美國州密西西比州县朗兹县始建于1821年政府 • 市长罗伯特·史密斯 (民主党)面积 • 总计22.3 平方英里(57.8 平方公里) • 陸地21.4 平方英里(55.5 平方公里) • …

Ida LupinoIda Lupino sebelum tampil di serial radio Cavalcade of AmericaLahir(1918-02-04)4 Februari 1918Herne Hill, London, InggrisMeninggal3 Agustus 1995(1995-08-03) (umur 77)Los Angeles, California, Amerika SerikatWarga negaraBritania RayaAmerika SerikatAlmamaterRoyal Academy of Dramatic ArtPekerjaanAktrispenyanyisutradaraproduserTahun aktif1931–1978Suami/istri Louis Hayward ​ ​(m. 1938; c. 1945)​ Collier Young ​ ​(…

2007 EP by Fight Like ApesHow Am I Supposed to Kill You If You Have All the Guns?EP by Fight Like ApesReleasedMay 2007GenreAlternative rock,[1] karate rock,[2][3] punk rock[4]LabelFIFA RecordsFight Like Apes chronology How Am I Supposed to Kill You If You Have All the Guns?(2007) David Carradine is a Bounty Hunter Whos Robotic Arm Hates Your Crotch(2007) How Am I Supposed to Kill You If You Have All the Guns? is the debut four-track EP of Fight Like Apes. …

Earthquake in Indonesia 1899 Ceram earthquakeLocal date30 September 1899 (1899-09-30)Local time01:42.2 AMMagnitude7.8 MsEpicenter3°17′S 128°39′E / 3.29°S 128.65°E / -3.29; 128.65Max. intensityVIII (Heavily damaging)[1]Tsunami10 m (33 ft) On 30 September 1899 the island of Ceram, Dutch East Indies, was struck by an Ms 7.8 earthquake which was accompanied by a 10-meter landslide-induced tsunami.[2] According to the …

Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 
Kembali kehalaman sebelumnya