A Google Web Toolkit a Google által 2006. május 16-án megjelentetett AJAX fejlesztői eszköztár (toolkit), amit felhasználtak a Google Base, Google Checkout, Google Mashup Editor, Google AdWords, Google Wallet, Google Flights, Google Offers, Google Groups, Blogger vagy az Inbox by Gmail bizonyos részeinek, illetve egészének fejlesztésében is.
A fő újdonság a Java-JavaScript fordítóban van: a fejlesztő a fejlesztést és hibakeresést Java nyelven és a Java ökoszisztéma eszközeivel végzi, majd a végleges HTML/JavaScript/CSS kódot külön lépésben generálja le.
Az elkészült webes AJAX-os alkalmazás az összes modern böngészőt támogatja. A JavaScript programkönyvtár, ami letöltődik a működéshez, kb. 100 Kbyte méretű. Az eredeti UI widgetek támogatják a CSS-t, és új widgetekkel, valamint egyedi JavaScript függvényekkel is lehet bővíteni őket. A gyári widgetek közül kevés van, ami támogatja a drag and drop-ot.
A toolkit lehetőséget biztosít egy RPC protokoll-megvalósítás használatára a kommunikációhoz (de ezt régóta nem ajánlják), a JSON, valamint a böngésző előzményeinek kezelésére (megcáfolva a hiedelmet, hogy az AJAX-os webalkalmazások nem férnek össze a böngésző „vissza” gombjával).
A GWT alkalmazásokat két módban lehet futtatni: Hosted mode: Az alkalmazás java bájtkódként fut egy JVM-ben. Ezt a módot jellemzően a fejlesztés során használják, mert a kód módosítása és debugolása ebben a módban egyszerűbb. Web mode: Az alkalmazás tiszta JavaScript és HTML kódként fut. Ezt a módot használják az éles (production) rendszerekben. A JavaScript és HTML kódot a Java-Javascript fordító állítja elő Java forráskódból.
A Google Web Toolkit licencelése, beleértve a JRE emulációját JavaScript alatt, az Apache 2-ével egyezik meg. A fejlesztőeszközök (a fordító és a „hosted mode” támogatása) ingyenesek, de zárt forrásúak.
A fejlesztői eszköztár (SDK) Linux, Mac OS X és Windows alatt fut, JDK-t használva.
Történet A GWT 1.0 RC 1 verziót 2006. május 16-án adták ki. A további verziók a következő ütemben jelentek meg: GWT 1.0 – 2006. május 16. GWT 1.1 – 2006. augusztus 11. GWT 1.2 – 2006. november 16. GWT 1.3 – 2007. február 5. GWT 1.4 – 2007. augusztus 28. GWT 1.5.2 – 2008. augusztus 29. GWT 1.5.3 – 2008. október 17. GWT 1.6 - 2009. április 7. GWT 1.7 - 2009. július 13. GWT 2.0 - 2009. december 8. GWT 2.0.1 - 2010. február 2. GWT 2.0.2 - 2010. február 12. GWT 2.0.3 - 2010. február 19. GWT 2.0.4 - 2010. július 2. GWT 2.1.0 - 2010. október 19. GWT 2.1.1 - 2010. december 16. GWT 2.2.0 - 2011. február 11. GWT 2.3.0 - 2011. május 3. GWT 2.4.0 - 2011. szeptember 8. GWT 2.5.0 - 2012. október GWT 2.5.1 - 2013. március GWT 2.6.0 - 2014. január 30. GWT 2.6.1 - 2014. május 10. GWT 2.7.0 - 2014. november 20. GWT 2.9.0 - 2020. május 2. GWT 2.10.0 - 2022. június 9. GWT 2.11.0 - 2024. január 9. GWT 2.12.0 - 2024. október 29. GWT 2.12.1 - 2024. november 12. GWT 2.12.2 - 2025. március 3. GWT 2.13.0. - 2026. február 11.
A GWT keretrendszer részei A GWT főbb részei közé tartozik: A Java-JavaScript fordító lefordítja a Java forráskódot JavaScript kódra. A Hosted Web Browser lehetővé teszi, hogy a fejlesztő egy böngészőszerű környezetben, JVM-ben futtathassa a kódot Java-JavaScript konverzió nélkül. A JRE emulációs programkönyvtár a szabványos Java osztályrendszer gyakran használt osztályainak JavaScript implementációja. Ide tartozik a java.lang csomag összes osztálya és a java.util csomag osztályainak egy része. A GWT Web UI osztálykönyvtár GUI komponensek készítésére használható osztályok és interfészek összessége. Az applicationCreator szkript A GWT projekthez szükséges fájlokat állítja elő. Ugyanez a szkript alkalmas Eclipse projektfájlok generálására is.
A GWT integrált fejlesztőkörnyezetekben Jelenleg csak az IntelliJ IDEA-hoz készült plugint tartják karban.
A múltban egyéb integrált fejlesztőkörnyezethez is készültek GWT pluginek: a GWT4NB a NetBeans-hez, a gwtDeveloper a JDeveloper-hez és a Cypal Studio for GWT az Eclipse-hez.
GWT könyvek
További információk
GWT honlap A hivatalos GWT blog A hivatalos GWT fórumok GWT widgetek GWT alkalmazás-példák GWT hírek
Kategória:Google Kategória:Java API-k