Google Web Toolkit - Google Web Toolkit
Původní autoři | |
---|---|
První vydání | 16. května 2006 |
Stabilní uvolnění | 2.9.0 / 2. května 2020
|
Úložiště | |
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 |
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.
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 | 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é
- Dart (programovací jazyk)
- Plugin Google pro Eclipse
- Google Code
- Porovnání rámců JavaScriptu
- Porovnání webových rámců
- Emscripten pro převod C ++ na JavaScript nebo WebAssembly
Reference
Bibliografie
- Dewsbury, Ryan (15. prosince 2007). Aplikace Google Web Toolkit . Prentický sál . p. 608. ISBN 978-0-321-50196-7.
- Chaganti, Prabhakar (15. února 2007). Google Web Toolkit: GWT Java Ajax Programming . Packt Publishing . p. 248. ISBN 978-1-84719-100-7.
- Geary, David (17. listopadu 2007). Řešení Google Web Toolkit: Více cool a užitečných věcí . Prentický sál . p. 408. ISBN 978-0-13-234481-4.
- Hanson, Robert; Adam Tacy (7. února 2013). GWT v akci (2. vyd.). Obsazení . p. 643. ISBN 978-1-935182-84-9.
- Cooper, Robert; Charlie Collins (12. května 2008). GWT v praxi . Obsazení . p. 376 . ISBN 978-1-933988-29-0.