Javapolis07 Google Web Toolkit

Sprekers : Dick Wall en Didier Girard

De naam zegt het al zelf : Google Web Toolkit komt van Google, want Google is al enige tijd meer dan alleen maar een zoekmachine. En wat zegt Google zelf over de GWT ?
Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.

GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.
Kort samengevat : je schrijft alles in Java en GWT zorgt voor de omzetting naar Javascript en HTML om een webapplicatie te krijgen die we kunnen catalogeren onder RIA of Rich Internet Application. Google Web Toolkit kan je rekenen bij de AJAX-raamwerken, waarbij AJAX staat voor Asynchronous Javascript And Xml. Het doel van AJAX is niet voor iedere wijziging in een pagina weer naar de server te gaan. Sommige schermwijzigingen gebeuren op de client zelf, en dat spaart weer wat verwerkingstijd. Met AJAX zijn we van een stateless browser naar een stateful Javascript-and-DHTML browser gegaan.

De sprekers verwijzen voor hun demo naar de "kitchen sink" die je kan vinden op de webpagina http://code.google.com/webtoolkit/examples/kitchensink/

GWT bouwt AJAX-applicaties op met Java en compileert de Java naar Javacsript. Binnen GWT heb je een compiler en een aantal bibliotheken of libraries. Voor GWT kan je eender welke Java IDE gebruiken. Eclipse hoort hier zeker bij, want in het boek van Thomas Kuenneth, "Einstieg in Eclipse 3.3" is hier een aanzienlijk deel van het laatste hoofdstuk aan gewijd.
GWT staat unit testing toe, hergebruik via de Java Archives of JARs, OO design patterns en javadoc. Je kan spreken van een lichtgewicht ontwikkelingscyclus. Binnen de GWT zijn er API's die gericht zijn op het werken in een internet browser. Zo is er de History API waarmee je de back-knop in IE of Firefox kan opvangen.
Binnen GWT is er een efficiënte internationalisatie, en je kan CSS stijlen koppelen aan widgets. GWT staat je zelfs toe om de DOM of Document Object Model, waarmee je een webpagina kan indelen, aan te spreken in Java.

Voor GWT is er third party support zoals via Spring. En er is een Javascript Native Interface (JSNI). Maar let er wel op om niet teveel Java en Javascript met elkaar te mengen. De Javascriptcode kan je plaatsen tussen de typische commentaartekens (/* en */) de javascriptcode zelf plaats je tussen accolades ({}) ; dit gedeelte wordt dan genegeerd door de javacompiler.
GWT is crossbrowser enerzijds, maar anderzijds kan je ook browserspecifieke optimalisatie inbouwen.Op 3 maanden tijd zijn er meer dan 1 miljoen downloads geweest en ondertussen zijn er ook al GUI-builders voor GWT. De huidige versie is GWT 1.4 en GWT 1.5 is aangekondigd, maar er is nog geen duidelijk tijdstip voor voorzien.

Didier geeft nog een demo van MyForms, een zogenaamde OpenSocial IDE gebaseerd op GWT. Hij had er welgeteld een halve dag voor nodig om MyForms uit te bouwen. De slides die Didier hiervoor heeft gebruikt, vind je terug op http://www.slideshare.net/dgirard/javapolis-gwt-gadget-opensocial.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License