GWT, Google Web Toolkit

Snart är det dags för semester. Då hinner jag ta mig tid att kolla in GWT (Google Web Toolkit). GWT används för att generera webbapplikationer. Vinsten är att man har Google och Java i ryggen som garanterar diverse funktionalitet i nästan (?) alla existerande webbläsare, oavsett individuella avvikelser och brister (“quirks”).

Java har också omfattade resurser för att felsöka, testa och optimera den resulterande koden. En nackdel med GWT är att man i vissa fall måste kompilera Java -koden.

Under Google I/O har man hållit otroligt imponerade demon där GWT + “ett annat projekt” (glömt namnet just nu, stödjer utveckling på serversidan) tillsammans kan samspela helt i Java -miljö, hela vägen från gränssnittet ända ner till databasen. Dessutom med en helt otrolig prestanda.

Från en tom katalog i en Linuxmaskin till en (enkel) databas och ett gränssnitt som hanterade 10000-tals användare (sortering/filtrering/listning) tog det ca 3 minuter. På mitt arbete gör vi motsvarande arbete (inklusive behörigheter iofs) på ca 3 veckor… Men då verkar vi ha “Utvecklingsmiljön som Gud glömde”.

På min förra installation, innan Ubuntu 10.04 kom ut gjorde jag ett inledande test med GWT 2, release December 2009. Visst, det fungerade (“Hello World” poppade upp ;-)  ) men kompileringen tog ett bra tag; ca 1 minut, minst? Det var då en total kompilering av all kod, smärre kodjusteringar kan innebära några få sekunders bearbetning och en refresh i webbläsaren. Jag har en ganska ny bärbar i den billigaste kategorin, dvs inget prestandamonster (Celeron 2GHz).

I veckan hittade jag olika tips (här är ett) på att radikalt minska kompileringstiden. Det gemensamma för de flesta förslag är att man dels anger en speciell webbläsare (ex Firefox 3.x) och dessutom specificerar enbart enlocale“, ex engelska. För att endast Firefox (och bl.a. Seamonkey) ska vara “målwebbläsare”, ange

<set-property name=”user.agent” value=”gecko”/>

i  *.gwt.xml -filen. Bar’ å sök…

För att sedan sätta locale till engelska, se till att

<set-property name=”locale” value=”en”/>

finns i nämnda *.gwt.xml -file. Ta bort alla andra locales, men kom ihåg att spara undan en kopia på originalfilen

<uppdatering> Mer tips från Google på optimering… En varning finns här också för att försöka optimera för en enskild webbläsare. Man får testa och se resulterande tider själv, Google levererar hela tiden ny GWT -kod som kan omintetgöra optimeringar, eller rentav onödiggöra ovan trix.

I GWT 2.0 finns även en kompileringsflagga “draftCompile” (sök i kombination med google) som ska skippa diverse försök av kompilatorn att själv optimera koden för prestanda/filstorlek. Värt att testa, tror jag.

Leave a Reply

Your email address will not be published. Required fields are marked *