Google Web Toolkit - Google Web Toolkit
![]() | tento článek obsahuje obsah, který je napsán jako reklama.Říjen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
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, Okna, OS X, FreeBSD |
K dispozici v | Jáva |
Typ | Rámec Ajaxu |
Licence | Licence Apache 2.0 |
webová stránka | www |
Google Web Toolkit (GWT /ˈɡwɪt/), nebo GWT Web Toolkit,[1] je open-source množina nástroje to umožňuje webové vývojáře vytvářet a udržovat JavaScript front-end aplikace v Jáva. Kromě několika nativních knihoven je vše zdrojem Java, který lze pomocí přiložené GWT vytvořit na jakékoli podporované platformě Mravenec vytvářet soubory. Je licencován pod Licence Apache 2.0.[2]
GWT zdůrazňuje znovu použitelný přístupy ke společným úkolům při vývoji webu, jmenovitě asynchronní vzdálená volání procedur, správa historie, záložky, UI abstrakce, internacionalizace, a cross-browser přenosnost.
Dějiny
GWT verze 1.0 RC 1 byla vydána 16. května 2006.[3] Google oznámil GWT na JavaOne konference, 2006.[4]
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 | 5. února 2007 |
GWT 1.4 | 28. srpna 2007 |
GWT 1.5 | 27. srpna 2008 |
GWT 1.6 | 7. dubna 2009 |
GWT 1.7 | 13. července 2009 |
GWT 2.0 | 8. prosince 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 | 8. září 2011 |
GWT 2.5.0 | Říjen 2012 |
GWT 2.5.1 | Březen 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 instance,[5] společnost známá svým zaměřením na vývojové nástroje Eclipse Java, včetně GWT Designer, který je nyní součástí Plugin Google pro Eclipse.
V roce 2011 se zavedením Šipkový programovací jazyk „Google ujistil komunitu GWT, že GWT bude v dohledné budoucnosti nadále podporována, ale také naznačil možné sblížení mezi dvěma přístupy Google ke„ strukturovanému programování webu “. Přiznali však také, že nyní pracuje řada inženýrů, kteří dříve pracovali na GWT Šipka.[6]
V roce 2012 na své výroční I / O konferenci Google oznámil, že GWT bude transformováno z projektu Google na projekt plně otevřeného zdroje.[7] V červenci 2013 Google zveřejnil na svém blogu GWT, že transformace na projekt s otevřeným zdrojovým kódem byla dokončena.[8]
Vývoj s GWT
Pomocí GWT mohou vývojáři vyvíjet a ladit Ajax aplikace v jazyce Java pomocí vývojových nástrojů Java podle svého výběru. Když je aplikace nasazena, překladač GWT překládá aplikaci Java na samostatnou JavaScript soubory, které jsou volitelně zmatený a hluboce optimalizováno. V případě potřeby lze JavaScript také vložit přímo do kódu Java pomocí komentářů Java.[9]
GWT se netočí pouze kolem programování uživatelského rozhraní; je to obecná sada nástrojů pro vytváření jakéhokoli druhu vysoce výkonných funkcí JavaScriptu na straně klienta. Mnoho klíčových architektonických rozhodnutí je skutečně ponecháno zcela na vývojáři. Prohlášení o poslání GWT[10] objasňuje filozofické rozdělení role GWT versus role vývojáře. Příkladem může být historie: ačkoli GWT spravuje tokeny historie, když uživatelé v prohlížeči klikají na Zpět nebo Předat, nepředepisuje, jak mapovat tokeny historie na stav aplikace.
Aplikace GWT lze spustit 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 Virtuální stroj Java (JVM).[11] Tento režim se obvykle používá pro vývoj, podporu hot swapping kódu a ladění. V roce 2014 byla klasická implementace Dev Mode znehodnocena aktualizacemi prohlížeče[12][13] až do jeho nahrazení kompatibilnějším Režim Super Dev, který se stal výchozím v GWT 2.7.[14]
- Produkční režim (dříve Webový režim): Aplikace je spuštěna jako čistý JavaScript a HTML, zkompilovaný ze zdroje Java. Tento režim se obvykle používá pro nasazení.
Několik open-source pluginy jsou k dispozici pro usnadnění vývoje GWT s ostatními IDE, včetně GWT4NB[15] pro NetBeans, Cypal Studio pro GWT[16] (an Zatmění plugin) a GWT Developer pro JDeveloper. The Plugin Google pro Eclipse zpracovává většinu úkolů souvisejících s GWT v IDE, včetně vytváření projektů, vyvolání kompilátoru GWT, vytváření konfigurací spuštění GWT, ověřování a zvýraznění syntaxe.
Součásti
Mezi hlavní komponenty GWT patří:
- GWT kompilátor Java-JavaScript[17][18]
- 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č“ pro ladění kódu GWT. V 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 s nativním kódem, který se nazývá Google Web Toolkit Developer Plugin pro mnoho populárních prohlížečů.
- Emulační knihovna JRE
- Implementace JavaScriptu běžně používaných tříd v knihovně standardních tříd Java (například 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í widgety.
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 drag-and-drop nebo sofistikované vizuální stromové struktury.[19]
- Jednoduchý RPC mechanismus
- Správa historie prohlížeče
- Podpora plně funkčního ladění Java[4]
- GWT pro vývojáře řeší některé problémy s různými prohlížeči.[4]
- Testování jednotky integrace
- Podpora pro Internacionalizace a lokalizace
- Podpora HTML Canvas (podléhá změnám API)[20]
- Vývojáři mohou kombinovat ručně psaný JavaScript ve zdrojovém kódu Java pomocí nativního rozhraní JavaScriptu (JSNI).
- Podpora používání Google API v aplikacích GWT (zpočátku podpora pro Google Gears )
- Otevřený zdroj
- Vývojáři mohou navrhovat a vyvíjet své aplikace čistě objektově orientovaným způsobem, protože používají Java (místo JavaScriptu).[19] Běžné chyby JavaScriptu, například překlepy a neshody typu, jsou chyceni v době kompilace.
- JavaScript, který generuje kompilátor GWT, lze přizpůsobit tak, aby byl buď neobtěžovaný a srozumitelnější, nebo zmatený a menší ke stažení.[19]
- Pro GWT je k dispozici řada knihoven od společnosti Google a třetích stran. Ty rozšiřují funkce GWT.[19]
Dostupné widgety
Od verze 2.4 (září 2011) nabízí GWT několik widgety[21] a panely.[21]
Widgety | Panely |
---|---|
Knoflík | PopupPanel |
Stiskněte tlačítko | StackPanel |
RadioButton | StackLayoutPanel |
CheckBox | HorizontalPanel |
DatePicker | VerticalPanel |
ToggleButton | FlowPanel |
Textové pole | VerticalSplitPanel |
PasswordTextBox | HorizontalSplitPanel |
TextArea | SplitLayoutPanel |
Hypertextový odkaz | DockPanel |
ListBox | DockLayoutPanel |
CellList | TabPanel |
Lišta menu | TabLayoutPanel |
Strom | DisclosurePanel |
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.
Enterprise využití
GWT používá nebo podporuje Jáva, Apache Tomcat (nebo podobný webový kontejner), Zatmění IDE, internet Explorer,[22] a internacionalizace a lokalizace. Java GWT RIA lze testovat pomocí JUnit testovací rámec a nástroje pro pokrytí kódu. Protože GWT umožňuje kompilaci časových ověření obrázků, CSS a obchodní logiky, automaticky se odhalí mnoho běžných vývojových vad, aniž by bylo nutné ruční testování běžně vyžadované RIA.
Google poznamenal, že některé z jeho produktů jsou založeny na GWT:[23] Blogger, AdWords, Lety, Peněženka, Nabídky, Skupiny, Doručená pošta.[24]
GWT 2.0
8. prosince 2009 spustila společnost Google nástroj Google Web Toolkit 2.0 s aplikací Speed Tracer.[25]
Verze 2.0 GWT nabízí řadu nových funkcí,[26] počítaje v to:
- In-Browser Development Mode (dříve známý jako Out Of Process Hosted Mode, OOPHM): před verzí 2.0 se hostovaný režim používá k vložení upraveného prohlížeče, který umožňuje spuštění verze bytecode aplikace během vývoje. Ve verzi 2.0 umožňuje hostovaný režim, přejmenovaný na „vývojový režim“, použití libovolného (podporovaného) prohlížeče k prohlížení laděné stránky 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 Internet Exploreru ve Windows z prostředí vývojového režimu běžícího na stroji s Linuxem).
- Rozdělení kódu: s tím, že vývojář poskytne ve zdrojovém kódu „body rozdělení“, bude kompilátor GWT schopen rozdělit kód JavaScriptu na několik malých bloků 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í spíše deklarací než kódem. To umožňuje čisté oddělení konstrukce uživatelského rozhraní a implementace chování.
- Sdružování zdrojů: Rozhraní ClientBundle umožní sdružit zdroje jakékoli povahy (obrázky, CSS, text, binární soubory) a přenést je na jedno stažení, což povede k menšímu počtu zpoždění na server, a tím k nižší latenci aplikace.
Vzhledem k tomu, že nový vývojový režim odstranil většinu kódu specifického pro platformu, bude nová verze distribuována jako jedinečný archiv namísto jedné na podporovanou platformu, jak tomu bylo u předchozích verzí.
mobilní, pohybliví
Jako obecný rámec pro vytváření webových aplikací je GWT také možné použít jako rámec pro vytváření mobilních a tabletových aplikací, a to buď vytvořením potřebných widgetů a animací od začátku, nebo použitím jednoho 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é
- Šipka (programovací jazyk)
- Plugin Google pro Eclipse
- Google Code
- Porovnání rámců JavaScriptu
- Srovnání webových frameworků
- Emscripten pro konverzi C ++ do JavaScriptu nebo WebAssembly
Reference
- ^ „Zásady používání názvu GWT“. Google. Citováno 2014-04-23.
- ^ „Licenční informace Google Web Toolkit“. Google. 23. února 2007. Citováno 2007-09-25.
- ^ „Archiv vydání Google Web Toolkit“. Google. Citováno 2007-09-25.
- ^ A b C Olson, Steven Douglas (2007). Ajax v Javě. O'Reilly. str. 183. ISBN 978-0-596-10187-9.
- ^ Ramsdale, Chris. „Google uvádí na trh Instalační nástroje pro vývojáře“.
- ^ „Blog Google Web Toolkit: GWT and Dart“. Googlewebtoolkit.blogspot.com. 10. 11. 2011. Citováno 2013-06-16.
- ^ Vaadin na podporu vývoje Google Web Toolkit (GWT). vaadin.com (29.06.2012). Citováno 2014-05-15.
- ^ Blog Google Web Toolkit: Novinky GWT. Googlewebtoolkit.blogspot.com (15. července 2013). Citováno 2014-05-15.
- ^ „Základy kódování - Nativní rozhraní JavaScriptu (JSNI) - Google Web Toolkit - Google Developers“. Developers.google.com. 2012-10-25. Citováno 2013-06-16.
- ^ Poslání GWT
- ^ Ladění v režimu vývoje
- ^ „Vývojový režim nebude ve Firefoxu 27+ podporován“. [email protected] (Poštovní seznam).
- ^ „Plugin GWT Developer již v prohlížeči Chrome v systému Linux nefunguje“. [email protected] (Poštovní seznam).
- ^ „Režim Super Dev“.
- ^ GWT4NB
- ^ Cypal Studio pro GWT
- ^ „com.google.gwt.dev.Compiler“.
Hlavní spustitelný vstupní bod pro kompilátor GWT Java to JavaScript.
- ^ „com.google.gwt.dev.jjs.JavaToJavaScriptCompiler“.
Základ pro třídy, které kompilují Javu
JProgram
reprezentace do odpovídajícího zdroje J. - ^ A b C d Perry, Bruce W (2007). Google Web Toolkit pro Ajax. O'Reilly Short Cuts. O'Reilly. s. 1–5. ISBN 978-0-596-51022-0.
- ^ „GWT Javadoc Canvas“.
- ^ A b "Seznam widgetů". Google. Citováno 2012-05-21.
- ^ Projekt GWT. Projekt GWT. Citováno 2014-05-15.
- ^ „Google I / O 2012 - Historie a budoucnost Google Web Toolkit“. GoogleDevelopers. Citováno 2013-03-18.
- ^ Toubassi, Garrick. „Going under the hood of Inbox“. Oficiální blog služby Gmail. Citováno 22. listopadu 2014.
- ^ Představujeme Google Web Toolkit 2.0, nyní s Speed Tracer
- ^ „Oznámení milníku 1 GWT 2.0“. Amit Manjhi. Citováno 2009-10-05.
Bibliografie
- Dewsbury, Ryan (15. prosince 2007). Aplikace Google Web Toolkit. Prentice Hall. str. 608. ISBN 978-0-321-50196-7.
- Chaganti, Prabhakar (15. února 2007). Google Web Toolkit: GWT Java Ajax Programming. Packt Publishing. str. 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í. Prentice Hall. str. 408. ISBN 978-0-13-234481-4.
- Hanson, Robert; Adam Tacy (7. února 2013). GWT v akci (2. vyd.). Manning. str. 643. ISBN 978-1-935182-84-9.
- Cooper, Robert; Charlie Collins (12. května 2008). GWT v praxi. Manning. str.376. ISBN 978-1-933988-29-0.