Powered By Blogger

luni, 12 ianuarie 2009

GWT, o solutie interesanta pentru crearea interfetelor web

GWT este o arhitectura ce se bazeaza pe Html Si JavaScript. A devenit open source in 2007 si la momentul respectiv a devenit cea mai buna unealta de a creea interfete web scalabile, de exemplu GMail si GoogleMaps.

Folosirea limbajul Java rezolva o serie de probleme de rapiditate. Codul este compilat in JavaScript si este de asemenea optimizat sa aibe o dimensiune cat mai mica.

Avantajele GWT sunt: scalabilitatea, viteza si optimizarea, compresia si obfuscarea.

Joel Webber, unul din creatorii de GWT, descrie GWT ca fiind o "incercare de a rezolva problema software engineering-ului, in AJAX". Definind scalabilitatea ca relatia dintre resursele alocate unui proiect si rezultatul acelui proiect, rezulta ca interfetele web scrise JavaScript nu se scaleaza bine. Conventiile de cod JavaScript cum ar fi namespace-urile, ajuta echipe mici de dezvoltatori sa nu se calce in picioare, dar aceste conventii se strica atunci cand e vorba de echipe mari si distribuite colaborand pentru creare de interfete web de dimensiuni mari.

Refractoring - Dezvoltatorul JavaScript se afla intr-o dilema. Stie ca JavaScript este un limbaj in care codul se scrie usor, dar stie de asemenea ca refactoring-ul ii va consuma foarte mult timp. O abordare logica ar fi sa faca o rapida functionalitate JavaScript, dar ceea ce dezvoltatorul naiv nu stie e ca isi va petrece o luna din viata mestecand guma si invartind cod JavaScript pentru crearea unei interfete web, dupa care se va afla in fata echipei de management. Daca codul merge, noul prototip va fi curand transfromat intr-o aplicatie, iar dezvoltatorul isi va face rost de o slujba full time in care va explica de ce e dificil sa adauge noi functionalitati interfetei web.

Viteza GWT se bazeaza pe inserarea unui compilator inteligent intre codul sursa si codul final al interfetei web scrisa in JavaScript. Acesta ne arata ca putem sa facem tot felul de optimizari pentru a ne asigura ca trimitem o cantitate minima de date si scripturi la interfata web de la client si ca facem acest lucru pe cat de eficient ne e posibil.
Codul interfetelor web scrise in JavaScript se comprima bine, dar GWT stie sa il comprime extraordinar de bine. Primul pas este optimizarea si eliminarea codului "mort". Operand pe principiul ca nu e nimic mai mic decat codul pe care nu il trimiti, GWT analizeaza sursele interfetei web pentru a descoperi cod la care nu se ajunge si il scoate afara. Pe deasupra, GWT 1.5 va transforma codul in cod inline, eliminand "overhead-ul" produs de apelare. Obfuscatorul implicit pornit, reduce numele variabilelor si al metodelor, folosind cele mai scurte nume. Codul se comprima si se trimite la client.


Cu siguranta GWT suna interesant, si merita incercat in implementarea interfetelor web care au neaparat nevoie de avantajele oferite de aceasta arhitectura.

Niciun comentariu: