Google Web Toolkit

Google Web Toolkit
Gwt logo.png
Originalautor (en) Google
Erstveröffentlichung 16. Mai 2006; Vor 16 Jahren
Stabile Version
2.10.0 / 9. Juni 2022; Vor 53 Tagen
Repository
Geschrieben in Java
Betriebssystem Linux, Fenster, Os x, Freebsd
Verfügbar in Java
Typ Ajax Framework
Lizenz Apache -Lizenz 2.0
Webseite www.gwtproject.org

Google Web Toolkit (Gwt /ˈɡwɪt/), oder GWT Web Toolkit,[1] ist ein Open Source set von Werkzeug das erlaubt Web-Entwickler zu schaffen und zu warten JavaScript Frontend Anwendungen in Java. Es ist unter dem lizenziert Apache -Lizenz 2.0.[2]

GWT betont wiederverwendbar Ansätze für gemeinsame Webentwicklungsaufgaben, nämlich Asynchrone Remote -Verfahrensanrufe, Geschichtsmanagement, Lesezeichen, UI Abstraktion, Internationalisierung, und Cross-Browser Portabilität.

Geschichte

GWT Version 1.0 RC 1 wurde am 16. Mai 2006 veröffentlicht.[3] Google kündigte GWT an der an Javaone Konferenz, 2006.[4]

Veröffentlichung Geschichte
Veröffentlichung Datum
GWT 1.0 17. Mai 2006
GWT 1.1 11. August 2006
GWT 1.2 16. November 2006
GWT 1.3 5. Februar 2007
GWT 1.4 28. August 2007
GWT 1.5 27. August 2008
GWT 1.6 7. April 2009
GWT 1.7 13. Juli 2009
GWT 2.0 8. Dezember 2009
GWT 2.1.0 19. Oktober 2010
GWT 2.2.0 11. Februar 2011
GWT 2.3.0 3. Mai 2011
GWT 2.4.0 8. September 2011
GWT 2.5.0 Oktober 2012
GWT 2.5.1 März 2013
GWT 2.6.0 30. Januar 2014
GWT 2.6.1 10. Mai 2014
GWT 2.7.0 20. November 2014
GWT 2.8.0 20. Oktober 2016
GWT 2.8.1 24. April 2017
GWT 2.8.2 19. Oktober 2017
GWT 2.9.0 2. Mai 2020
GWT 2.10.0 9. Juni 2022

Im August 2010 erwarb Google Instanziationen,[5] Ein Unternehmen, das für seine Fokussierung auf Eclipse Java Developer Tools bekannt ist, einschließlich GWT Designer, das jetzt mit Bündel gebündelt ist Google Plugin für Eclipse.

Im Jahr 2011 mit der Einführung der Dart -ProgrammierspracheGoogle hat der GWT -Community versichert, dass die GWT auf absehbare Zeit weiterhin unterstützt wird, aber auch auf eine mögliche Annäherung zwischen den beiden Google -Ansätzen für "strukturierte Webprogrammierung" angedeutet wird. Sie haben jedoch auch zugegeben, dass eine Reihe von Ingenieuren zuvor an GWT arbeiten Pfeil.[6]

Auf ihrer jährlichen I/A -Konferenz kündigte Google 2012 an, dass GWT von einem Google -Projekt in ein vollständig offenes Projekt umgewandelt werden würde.[7] Im Juli 2013 hat Google in seinem GWT -Blog veröffentlicht, dass die Transformation in ein Open -Source -Projekt abgeschlossen war.[8]

Entwicklung mit GWT

Mit GWT können Entwickler sich entwickeln und debuggen Ajax Anwendungen in der Java -Sprache unter Verwendung der Java -Entwicklungstools ihrer Wahl. Wenn die Anwendung bereitgestellt wird, übersetzt der GWT Cross-Compiler die Java-Anwendung in Standalone JavaScript Dateien, die optional sind verschleiert und tief optimiert. Bei Bedarf kann JavaScript auch direkt in Java -Code mit Java -Kommentaren eingebettet werden.[9]

GWT dreht sich nicht nur um Benutzeroberflächenprogrammierung. Es handelt sich um eine allgemeine Reihe von Tools zum Erstellen einer leistungsstarken Client-Seite-JavaScript-Funktionalität. In der Tat werden viele wichtige architektonische Entscheidungen vollständig dem Entwickler überlassen. Das GWT -Leitbild[10] klärt den philosophischen Zusammenbruch der Rolle von GWT gegenüber der Rolle des Entwicklers. Der Verlauf ist ein Beispiel dafür: Obwohl GWT Verlaufs -Token als Benutzer verwaltet, klicken sie im Browser zurück oder weiterleiten, aber es wird nicht vorgeschrieben, wie man Verlaufs -Token einem Anwendungsstatus abbildt.

GWT -Anwendungen können in zwei Modi ausgeführt werden:

  • Entwicklungsmodus (früher Hosted -Modus): Die Anwendung wird als Java -Bytecode innerhalb der ausgeführt Java virtuelle Maschine (JVM).[11] Dieser Modus wird normalerweise für die Entwicklung verwendet und unterstützt Heißer Code -Tausch und Debugging. Im Jahr 2014 wurde die klassische Implementierung des Dev -Modus durch Browser -Updates unbrauchbar gemacht[12][13] bis zu seinem Ersatz durch das kompatiblere Super Dev -Modus, was der Standard in GWT 2.7 wurde.[14]
  • Produktionsmodus (früher Webmodus): Die Anwendung wird als reines JavaScript und HTML ausgeführt, der aus der Java -Quelle zusammengestellt wurde. Dieser Modus wird normalerweise für die Bereitstellung verwendet.

Mehrere Open-Source Plugins sind zur Verfügung, um die GWT -Entwicklung mit anderen zu erleichtern Ides, einschließlich GWT4NB[15] zum NetBeans, Cypal Studio für GWT[16] (ein Finsternis Plugin) und GWT -Entwickler für JDeveloper. Das Google Plugin für Eclipse übernimmt die meisten GWT -bezogenen Aufgaben in der IDE, einschließlich des Erstellens von Projekten, zum Aufrufen des GWT -Compilers, zum Erstellen von GWT -Startkonfigurationen, Validierung und Satzstellung markieren.

Komponenten

Die Haupt -GWT -Komponenten umfassen:

GWT Java-to-JavaScript-Compiler[17][18]
Übersetzt die Java -Programmiersprache in die JavaScript -Programmiersprache.
GWT -Entwicklungsmodus
Ermöglicht es den Entwicklern, GWT -Anwendungen im Entwicklungsmodus auszuführen und auszuführen (die App läuft als Java im JVM, ohne zu JavaScript zu kompilieren). Vor 2.0 bot der GWT-Hosted-Modus einen speziellen "gehosteten Browser", um Ihren GWT-Code zu debuggen. In 2.0 wird die debugged auf der Webseite in einem regulären Browser angesehen. Der Entwicklungsmodus wird durch die Verwendung eines nativen Code-Plugins mit dem Namen Google Web Toolkit Developer-Plugin für viele beliebte Browser unterstützt.
Jre Emulationsbibliothek
JavaScript -Implementierungen der häufig verwendeten Klassen in der Java -Standardklassenbibliothek (wie die meisten Java.lang -Paketklassen und eine Teilmenge der Java.util -Paketklassen).
GWT Web UI -Klassenbibliothek
Eine Reihe benutzerdefinierter Schnittstellen und Klassen zum Erstellen Widgets.

Merkmale

  • Dynamisch und wiederverwendbar UI -Komponenten: Programmierer können vorbereitete Klassen verwenden, um ansonsten zeitaufwändige dynamische Verhaltensweisen wie Drag & Drop oder ausgefeilte visuelle Baumstrukturen zu implementieren.[19]
  • Einfach RPC Mechanismus
  • Browser -Verlaufsmanagement
  • Unterstützung für das Debuggen von Java-Debugging[4]
  • GWT behandelt einige Cross-Browser-Probleme für den Entwickler.[4]
  • Unit -Tests Integration
  • Unterstützung für Internationalisierung und Lokalisierung
  • HTML -Canvas -Unterstützung (vorbehaltlich von API -Änderungen)[20]
  • Die Entwickler können handgeschriebenes JavaScript im Java -Quellcode mit der JavaScript Native Interface (JSNI) mischen.
  • Unterstützung für die Verwendung von Google Apis in GWT -Anwendungen (zunächst Unterstützung für Google Gears).
  • Open Source
  • Die Entwickler können ihre Anwendung in rein objektorientierter Weise entwerfen und entwickeln, da sie Java (anstelle von JavaScript) verwenden.[19] Gemeinsame JavaScript -Fehler wie Tippfehler und Typenfeindliche Anpassungen, werden zur Kompilierungszeit gefangen.
  • Das JavaScript, den der GWT-Compiler erzeugt, kann auf nicht oberfuszierte (Quellmaschine oder Quellcode) zugeschnitten und einfacher zu verstehen oder verschleiert und komprimiert werden.[19]
  • Für GWT, Google und Dritte stehen eine Reihe von Bibliotheken für GWT zur Verfügung. Diese erweitern die Funktionen des Toolkits.[19]

Verfügbare Widgets

Ab Version 2.4 (September 2011) bietet Google Web Toolkit mehrere an Widgets[21] und Panels.[21]

Widgets und Panels
Widgets Panels
Taste Popuppanel
Druckknopf Stackpanel
Radio knopf Stacklayoutpanel
Kontrollkästchen Horizontalpan
Datumsauswahl Vertikalpanel
Umschaltknopf Flowpanel
Textfeld Vertikalplitpanel
PasswordTextBox Horizontalsplitpanel
Textbereich Splitlayoutpanel
Hyperlink Dockpanel
Listbox Docklayoutpanel
Zellliste Tabpanel
Menüleiste Tabayoutpanel
Baum Offenlegungspanel
Celltree
Vorschlagbox
Richtextarea
Flextable
Netz
Celltable
Zellbrowser
Tab-Leiste
Dialogbox

Viele gemeinsame Widgets, die in der GWT nicht gefunden wurden, wurden in Bibliotheken von Drittanbietern implementiert.

Unternehmensnutzung

GWT verwendet oder unterstützt Java, Apache tomcat (oder ähnliches Webcontainer), Eclipse IDE, Internet Explorer,[22] und Internationalisierung und Lokalisierung. Java ansässiges GWT Reiche Webanwendungen kann mit Verwendung getestet werden Jung Testen von Tools für Framework und Codeabdeckung. Da GWT die Kompilierungszeitüberprüfung von Bildern, CSS und Geschäftslogik ermöglicht, werden viele häufige Entwicklungsfehler automatisch entdeckt, ohne dass die von Rias üblicherweise erforderlichen manuellen Tests erforderlich sind.

Google hat festgestellt, dass einige seiner Produkte GWT basieren:[23] Blogger, AdWords, Flüge, Geldbörse, Bietet an, Gruppen, Posteingang.[24]

GWT 2.0

Am 08. Dezember 2009 hat Google Google Web Toolkit 2.0 mit Speed ​​Tracer gestartet.[25]

Version 2.0 von GWT bietet eine Reihe neuer Funktionen.[26] einschließlich:

  • In-Browser-Entwicklungsmodus (früher als Out Out Out of Process Hosted-Modus bezeichnet, Oophm): Vor der Version 2.0 wurde der gehostete Modus zum Einbetten eines modifizierten Browsers verwendet, um die Bytecode-Version der Anwendung während der Entwicklung auszuführen. Mit Version 2.0, dem gehosteten Modus, umbenannt in "Entwicklungsmodus", kann die Verwendung eines (unterstützten) Browsers die zu debuggedierte Seite mithilfe eines Browser -Plugins angezeigt werden. Das Plugin kommuniziert mit der Entwicklungsmodus -Shell mit TCP/IP, wodurch das Debuggen von Cross -Plattform (z. B. Debugging im Internet Explorer unter Windows von einer Development -Modus -Shell auf einem Linux -Computer debugging).
  • Code -Spaltung: Wenn der Entwickler "Split -Punkte" im Quellcode angibt, kann der GWT -Compiler den JavaScript -Code in mehrere kleine Teile anstelle eines großen Downloads teilen. Dies führt zu einer verkürzten Startzeit für die Anwendung, da die Größe des ersten Downloads verringert wird.
  • Deklarative Benutzeroberfläche: Mit einem XML -Format ermöglicht die neue Funktion, die als Uibinder bezeichnet wird, die Erstellung von Benutzeroberflächen durch Deklaration anstelle von Code. Dies ermöglicht eine saubere Trennung der UI -Konstruktion und Verhaltensumsetzung.
  • Ressourcenbündelung: Die CLUPTBUNDLE-Schnittstelle ermöglicht es, dass Ressourcen jeder Art (Bilder, CSS, Text, Binär) miteinander gebündelt und in einem Download übertragen werden, was zu weniger Hin- und Rückfahrt zum Server und damit zu einer geringeren Anwendungslatenz führt.

Da der neue Entwicklungsmodus den meisten plattformspezifischen Code entfernt hat, wird die neue Version als eindeutiges Archiv verteilt, anstelle einer pro unterstützten Plattform, wie dies bei früheren Versionen der Fall war.

Handy, Mobiltelefon

Als allgemeines Framework für die Erstellung von Web -Apps kann Google Web Toolkit auch als Framework zum Erstellen von Mobil- und Tablet -Apps verwendet werden, indem entweder die erforderlichen Widgets und Animationen von Grund auf oder durch Verwendung eines der mobilen Frameworks für GWT verwendet werden. Eine in GWT geschriebene HTML5 -App kann separate Ansichten für Tablets und Mobiltelefone haben.

Siehe auch

Verweise

  1. ^ "GWT -Name verwenden Richtlinien". Abgerufen 2014-04-23.
  2. ^ "Google Web Toolkit -Lizenzinformationen". 23. Februar 2007. Abgerufen 2007-09-25.
  3. ^ "Google Web Toolkit Release -Archiv". Abgerufen 2007-09-25.
  4. ^ a b c Olson, Steven Douglas (2007). Ajax auf Java. O'Reilly. p. 183. ISBN 978-0-596-10187-9.
  5. ^ Ramsdale, Chris. "Google Relaunching Instanctiations Developer Tools".
  6. ^ "Google Web Toolkit Blog: GWT und Dart". GoogleWebtoolkit.blogspot.com. 2011-11-10. Abgerufen 2013-06-16.
  7. ^ Vaadin unterstützt die Entwicklung von Google Web Toolkit (GWT). vaadin.com (2012-06-29). Abgerufen am 2014-05-15.
  8. ^ Google Web Toolkit Blog: GWT News. GoogleWBBtoolkit.blogspot.com (2013-07-15). Abgerufen am 2014-05-15.
  9. ^ "Coding -Grundlagen - JavaScript Native Interface (JSNI) - Google Web Toolkit - Google Developers". Google Inc. 2012-10-25. Abgerufen 2013-06-16.
  10. ^ GWT -Leitbild
  11. ^ Debugging im Entwicklungsmodus
  12. ^ "Der Entwicklungsmodus wird in Firefox 27+ nicht unterstützt.". [email protected] (Mailingliste).
  13. ^ "Das GWT -Entwickler -Plugin funktioniert nicht mehr mit Chrome unter Linux". [email protected] (Mailingliste).
  14. ^ "Super Dev -Modus".
  15. ^ Gwt4nb
  16. ^ Cypal Studio für GWT
  17. ^ "com.google.gwt.dev.compiler". Der wichtigste ausführbare Einstiegspunkt für die GWT -Java zum JavaScript -Compiler.
  18. ^ "com.google.gwt.dev.j.javatojavascriptCompiler". Eine Basis für Klassen, die Java zusammenstellen JPROGRAM Darstellungen in die entsprechende JS -Quelle.
  19. ^ a b c d Perry, Bruce W (2007). Google Web Toolkit für AJAX. O'Reilly -Abkürzungen. O'Reilly. S. 1–5. ISBN 978-0-596-51022-0.
  20. ^ "GWT Javadoc Canvas".
  21. ^ a b "Widget List". Google Inc. Abgerufen 2012-05-21.
  22. ^ GWT -Projekt. GWT -Projekt. Abgerufen am 2014-05-15.
  23. ^ "Google I/O 2012 - Die Geschichte und Zukunft von Google Web Toolkit". Googledeveloper. Abgerufen 2013-03-18.
  24. ^ Toubassi, Garrick. "Unter die Motorhaube des Posteingangs gehen". Offizieller Google Mail -Blog. Abgerufen 22. November 2014.
  25. ^ Einführung von Google Web Toolkit 2.0, jetzt mit Speed ​​Tracer
  26. ^ "GWT 2.0 Meilenstein 1 Ankündigung". Amit Manjhi. Abgerufen 2009-10-05.

Literaturverzeichnis