Google Web Toolkit - Google Web Toolkit

Google Web Toolkit
Gwt logo.png
Původní autoři Google
První vydání 16. května 2006 ; před 15 lety ( 2006-05-16 )
Stabilní uvolnění
2.9.0 / 2. května 2020 ; Před 15 měsíci ( 2020-05-02 )
Úložiště Upravte to na Wikidata
Napsáno Jáva
Operační systém Linux , Windows , OS X , FreeBSD
K dispozici v Jáva
Typ Rámec Ajax
Licence Licence Apache 2.0
webová stránka www .gwtproject .org

Google Web Toolkit ( GWT / ɡ w ɪ t / ), nebo GWT Web Toolkit , je open-source sada nástrojů , která umožňuje webovým vývojářům vytvářet a udržovat JavaScript front-end aplikací v Javě . Kromě několika nativních knihoven je vše zdrojem Java, který lze postavit na jakékoli podporované platformě pomocí zahrnutých souborů sestavení GWT Ant . Je licencován pod licencí Apache License 2.0 .

GWT klade důraz na opakovaně použitelné přístupy k běžným úlohám vývoje webu, a to asynchronní vzdálená volání procedur , správu historie, vytváření záložek , abstrakci uživatelského rozhraní , internacionalizaci a přenositelnost mezi prohlížeči .

Dějiny

GWT verze 1.0 RC 1 byla vydána 16. května 2006. Google oznámil GWT na konferenci JavaOne , 2006.

Historie vydání
Uvolnění datum
GWT 1.0 17. května 2006
GWT 1.1 11. srpna 2006
GWT 1.2 16. listopadu 2006
GWT 1.3 05.02.2007
GWT 1.4 28. srpna 2007
GWT 1,5 27. srpna 2008
GWT 1,6 07.04.09
GWT 1.7 13. července 2009
GWT 2.0 08.12.2009
GWT 2.1.0 19. října 2010
GWT 2.2.0 11. února 2011
GWT 2.3.0 3. května 2011
GWT 2.4.0 08.09.2011
GWT 2.5.0 Říjen 2012
GWT 2.5.1 Března 2013
GWT 2.6.0 30. ledna 2014
GWT 2.6.1 10. května 2014
GWT 2.7.0 20. listopadu 2014
GWT 2.8.0 20. října 2016
GWT 2.8.1 24. dubna 2017
GWT 2.8.2 19. října 2017
GWT 2.9.0 2. května 2020

V srpnu 2010 společnost Google získala instanci, společnost známou svým zaměřením na vývojářské nástroje Eclipse Java, včetně GWT Designer, který je nyní dodáván s Google Plugin pro Eclipse .

V roce 2011 zavedením programovacího jazyka Dart Google ujistil komunitu GWT, že GWT bude v dohledné budoucnosti nadále podporována, ale zároveň naznačil možné sblížení obou přístupů Google ke „strukturovanému webovému programování“. Přiznali však také, že řada inženýrů, kteří dříve pracovali na GWT, nyní pracují na Dartu .

V roce 2012 na své výroční konferenci I/O společnost Google oznámila, že GWT bude transformováno z projektu Google na plně otevřený projekt. V červenci 2013 společnost Google zveřejnila na svém blogu GWT, že transformace na projekt s otevřeným zdrojovým kódem byla dokončena.

Vývoj s GWT

Pomocí GWT mohou vývojáři vyvíjet a ladit aplikace Ajax v jazyce Java pomocí vývojových nástrojů Java podle svého výběru. Když je aplikace nasazena, křížový překladač GWT překládá aplikaci Java do samostatných souborů JavaScript, které jsou volitelně zmateny a hluboce optimalizovány. V případě potřeby lze JavaScript také integrovat přímo do kódu Java pomocí komentářů Java.

GWT se netočí pouze kolem programování uživatelského rozhraní; je to obecná sada nástrojů pro vytváření jakýchkoli vysoce výkonných funkcí JavaScriptu na straně klienta. Ve skutečnosti je mnoho klíčových architektonických rozhodnutí zcela ponecháno na vývojáři. Prohlášení o poslání GWT objasňuje filozofické rozdělení role GWT oproti roli vývojáře. Historie je toho příkladem: ačkoli GWT spravuje tokeny historie, když uživatelé v prohlížeči kliknou na Zpět nebo Vpřed, nepředepisuje, jak mapovat tokeny historie do stavu aplikace.

Aplikace GWT lze spouštět ve dvou režimech:

  • Režim vývoje (dříve hostovaný režim ): Aplikace je spuštěna jako bajtový kód Java v rámci Java Virtual Machine (JVM). Tento režim se obvykle používá pro vývoj, podporuje hot swapování kódu a ladění. V roce 2014 byla klasická implementace Dev Mode aktualizacemi prohlížeče znemožněna, dokud nebyl nahrazen kompatibilnějším režimem Super Dev , který se stal výchozím v GWT 2.7.
  • Produkční režim (dříve webový režim ): Aplikace je spuštěna jako čistý JavaScript a HTML, kompilovaná ze zdroje Java. Tento režim se obvykle používá k nasazení.

K usnadnění vývoje GWT s jinými IDE je k dispozici několik open-source doplňků , včetně GWT4NB pro NetBeans , Cypal Studio pro GWT ( plugin Eclipse ) a GWT Developer pro JDeveloper . Google Plugin pro Eclipse uchy většinu úloh GWT s ním souvisejících v integrovaném vývojovém prostředí, včetně vytváření projektů, s odvoláním na GWT kompilátor vytváří GWT spouštěcí konfigurace, ověřování a zvýrazňování syntaxe .

Komponenty

Mezi hlavní komponenty GWT patří:

Kompilátor GWT Java-to-JavaScript
Přeloží programovací jazyk Java do programovacího jazyka JavaScript.
Režim vývoje GWT
Umožňuje vývojářům spouštět a spouštět aplikace GWT ve vývojovém režimu (aplikace běží jako Java v JVM bez kompilace do JavaScriptu). Před verzí 2.0 poskytoval hostovaný režim GWT speciální „hostovaný prohlížeč“ k ladění vašeho kódu GWT. Ve verzi 2.0 se laděná webová stránka zobrazuje v běžném prohlížeči. Režim vývoje je podporován použitím pluginu pro nativní kód s názvem Google Web Toolkit Developer Plugin pro mnoho populárních prohlížečů.
Knihovna emulace JRE
Implementace JavaScript běžně používaných tříd v knihovně standardních tříd Java (jako je většina tříd balíčků java.lang a podmnožina tříd balíčků java.util).
Knihovna tříd webového uživatelského rozhraní GWT
Sada vlastních rozhraní a tříd pro vytváření widgetů .

Funkce

  • Dynamické a opakovaně použitelné komponenty uživatelského rozhraní : programátoři mohou pomocí předem navržených tříd implementovat jinak časově náročné dynamické chování, jako je přetahování nebo propracované vizuální stromové struktury.
  • Jednoduchý mechanismus RPC
  • Správa historie prohlížeče
  • Podpora plně funkčního ladění Java
  • GWT řeší vývojářům některé problémy napříč prohlížeči.
  • Integrace testování jednotek
  • Podpora internacionalizace a lokalizace
  • Podpora HTML Canvas (podléhá změnám API)
  • Vývojáři mohou kombinovat ručně psaný JavaScript ve zdrojovém kódu Java pomocí nativního rozhraní JavaScript (JSNI).
  • Podpora pro používání rozhraní Google API v aplikacích GWT (zpočátku podpora pro Google Gears )
  • Open-source
  • Vývojáři mohou navrhovat a vyvíjet své aplikace čistě objektově orientovaným způsobem, protože používají Javu (namísto JavaScriptu). Běžné chyby JavaScriptu, jako jsou překlepy a neshody typů , jsou zachyceny v době kompilace.
  • JavaScript, který generuje kompilátor GWT, může být přizpůsoben tak, aby byl buď nerušený a snáze pochopitelný, nebo zmatený a menší ke stažení.
  • Pro GWT je k dispozici řada knihoven od společnosti Google a třetích stran. Ty rozšiřují funkce GWT.

Dostupné widgety

Od verze 2.4 (září 2011) nabízí GWT několik widgetů a panelů.

Widgety a panely
Widgety Panely
Knoflík PopupPanel
Stiskněte tlačítko StackPanel
RadioButton Rozložení zásobníku
CheckBox Horizontální panel
DatePicker Vertikální panel
ToggleButton FlowPanel
Textové pole Vertikální rozdělený panel
HesloTextBox Horizontální RozdělitPanel
Textová oblast Rozložení rozloženíPanel
Hypertextový odkaz DockPanel
ListBox DockLayoutPanel
CellList TabPanel
Lišta menu Rozložení tabulek
Strom ZveřejněníPanel
CellTree
SuggestBox
RichTextArea
FlexTable
Mřížka
CellTable
CellBrowser
TabBar
Dialogové okno

Mnoho běžných widgetů, které nebyly nalezeny v GWT, bylo implementováno do knihoven třetích stran.

Podnikové využití

GWT používá nebo podporuje Javu , Apache Tomcat (nebo podobný webový kontejner), Eclipse IDE , Internet Explorer a internacionalizaci a lokalizaci . Webové aplikace bohaté na GWT založené na Javě lze testovat pomocí testovacího rámce JUnit a nástrojů pro pokrytí kódu. Protože GWT umožňuje kompilaci časového ověření obrázků, CSS a obchodní logiky, mnoho běžných vývojových vad je automaticky objeveno bez nutnosti manuálního testování běžně požadovaného RIA.

Google poznamenal, že některé jeho produkty jsou založeny na GWT: Blogger , AdWords , Flights , Wallet , Offers , Groups , Inbox .

GWT 2.0

08.12.2009 Google spustil Google Web Toolkit 2.0 s Speed ​​Tracer.

Verze 2.0 GWT nabízí řadu nových funkcí, včetně:

  • In-Browser Development Mode (dříve známý jako Out Of Process Hosted Mode, OOPHM): před verzí 2.0 hostovaný režim sloužící k vložení upraveného prohlížeče umožňujícího spuštění verze bytecode aplikace během vývoje. Ve verzi 2.0 umožňuje hostitelský režim přejmenovaný na „vývojový režim“ pomocí libovolného (podporovaného) prohlížeče zobrazit stránku, která se ladí, pomocí pluginu prohlížeče. Plugin komunikuje s shellem vývojového režimu pomocí TCP/IP, což umožňuje ladění napříč platformami (například ladění v aplikaci Internet Explorer v systému Windows z prostředí vývojového prostředí běžícího na počítači se systémem Linux).
  • Rozdělení kódu: s tím, že vývojář poskytne ve zdrojovém kódu „rozdělené body“, bude kompilátor GWT schopen rozdělit kód JavaScript na několik malých částí místo jednoho velkého stahování. To povede ke zkrácení doby spuštění aplikace, protože se zmenší velikost počátečního stahování.
  • Deklarativní uživatelské rozhraní: Pomocí formátu XML umožňuje nová funkce známá jako UiBinder vytváření uživatelských rozhraní prostřednictvím deklarace, nikoli pomocí kódu. To umožňuje čisté oddělení konstrukce uživatelského rozhraní a implementace chování.
  • Sdružování zdrojů: Rozhraní ClientBundle umožní sdružovat a libovolně přenášet prostředky jakékoli povahy (obrázky, CSS, text, binární soubory) na jedno stahování, což má za následek menší počet zpátečních cest na server, a tím i nižší latenci aplikace.

Vzhledem k tomu, že nový režim vývoje odstranil většinu kódu specifického pro platformu, bude nová verze distribuována jako jedinečný archiv místo jednoho na podporovanou platformu, jako tomu bylo u předchozích verzí.

mobilní, pohybliví

Jako obecný rámec pro vytváření webových aplikací lze GWT použít také jako rámec pro vytváření mobilních a tabletových aplikací, a to buď vytvářením potřebných widgetů a animací od začátku, nebo pomocí některého z mobilních rámců pro GWT. Aplikace HTML5 napsaná v GWT může mít samostatná zobrazení pro tablety a mobilní telefony.

Viz také

Reference

Bibliografie