Professional Documents
Culture Documents
Prezentul articol este o iniiere n Google Web Tookit (GWT) pentru cei care nu au mai lucrat cu pn acum cu acesta, dar i o surs de informaii interesante despre GWT pentru cei care sunt familiari cu acest mediu de dezvoltare !n esen", GWT este un set de instrumente care permite crearea de aplicaii #eb comple$e, cu un minim de cuno%tine de &T'( ) *avascript +cest lucru este posibil datorit compilatorului care translateaz cod *ava n cod &T'( ) *, -e e$emplu, crearea unui buton n GWT se poate realiza astfel.
Button button = new Button(Click here).
Avantaje
GWT conine n mod implicit anumite componente grafice dinamice i reutilizabile +cestea pot fi e$tinse i modificate dup necesiti -e asemenea, GWT ofer un sistem de gestionare a istoriei aplicaiei, utiliznd butonul /0ack1 al bro#ser2ului +cest mecanism este foarte util deoarece n lipsa lui, butonul cauzeaz prsirea aplicaiei, cnd de fapt utilizatorul ar dori s revin la aciunea anterioar n interiorul aplicaiei 3n alt mare avanta4 al GWT2ului este c asigur suport pentru debug standard n *ava 'ai e$act, aplicaia ruleaz ntr2un bro#ser #eb sub form de cod *ava,cript, dar n codul *ava putem inspecta valori, pune breakpoint2uri, e$act ca i cum aplicaia ar fi e$ecutat n *ava Promisiunea pe care Google o face prin GWT e similar cu promisiunea pe care ,un a fcut2o cu *ava. Write once, run an5#6ere +stfel, dac *ava promite independena fa de platforma pe care ruleaz un program, GWT promite independena fa de bro#ser2ul pe care ruleaz aplicaia #eb 7u n ultimul rnd, erorile comune de *ava,cript cum ar fi incompatibilitate de tipuri sau erori de scriere, sunt detectate n mod implicit de ctre compilator, deoarece codul e scris n *ava
Pentru a folosi GWT trebuie s acceptm un ciclu de dezvoltare de tip scrie 8 compileaz 8 ruleaz +cest fapt ncetinete viteza de implementare a unui produs n comparaie cu *ava,cript, unde rezultatele se vd imediat ce codul este scris 9estea bun e c cei de la Google s2au gndit i la aceasta, de aceea n GWT e$ist un mod de a rula aplicaia numit -ev'ode, n care codul scris n *ava e translatat n *ava,cript la momentul e$ecutrii, linie cu linie -rept urmare, tot timpul aplicaia ruleaz ultimul cod scris, ceea ce nseamn c se poate face o modificare n cod, plus o rencrcare a paginii n bro#ser i modificrile fcute sunt de4a vizibile !n caz c este necesar, se poate scrie cod *ava,cript care nu va fi modificat de compilator Pentru acest lucru se declar metode 4ava native, iar codul *ava,cript se scrie ntr2un comentariu sub declaraie
public static native Strin et!ative"ocation#$"() /%&' var current#$" = ()oc.location.hre*+, return current#$", -&%/,
GWT i CSS
:6iar dac ma4oritatea componentelor grafice puse la dispozi"ie de ctre GWT au un aspect bun din punct de vedere vizual, de cele mai multe ori dorim s modificm felul n care arat aplicaia #eb !n acest caz sunt necesare cunotine de :,, -esigur se pot folosi %i librrii de :,, pentru a a4unge mai rapid la un rezultat satisfctor GWT ofer suport pentru editarea clasei de :,, a unui element la rulare ,pre e$emplu, pe butonul definit n introducerea articolului putem aplica o clas :,, foarte uor, folosind metoda set,t5le7ame.
button.setStyle!a.e(aweso.eButton),
GWT i
T!"
(ucrul cu GWT nu nseamn c suntem constrni la un anumit set de componente #eb !n final va fi generat tot cod &T'( i de aceea e$ist suport pentru componente &T'( pure 7u este obligatoriu nici ca o aplicaie s fie n ntregime scris n GWT. se poate introduce pe o pagin #eb doar o component GWT n cazul n care se dorete ca pagina s rmn nesc6imbat n rest
-e asemenea, GWT ofer suport direct pentru elemente &T'(; -e e$emplu, pentru a verifica dac tag2ul video de &T'(; e suportat n bro#ser2ul curent (n care e desc6is aplicaia), se poate apela simplu.
/i)eo.isSupporte)(),
GWT este folosit de anumite produse Google i de multe companii mari att din domeniul public, ct mai ales din domeniul privat 'ulte dintre aplicaiile scrise n GWT nu sunt publice, fiind folosite n interiorul organizaiilor -intre produsele publice scrise n GWT putem aminti. Google +dWords, Google >lig6t, Google Web >onts, e$tensia ,peed Tracer de la bro#ser2ul :6rome, versiunea desktop a 4ocului +ngr5 0irds, Google Groups i interfaa de administrare de la 0logger
=ste demn de menionat un efort fcut de programatorii Google n timpul lor liber, de a porta 4ocul ?uake@ n GWT 'ai e$act au folosit o portare de4a e$istent n *ava a 4ocului, iar cu a4utorul GWT au reuit s l ruleze sub forma unei aplicaii #eb Pentru a funciona modul multi2pla5er au folosit Web,ocket din &T'(;
Comunitatea GWT
-e la lansarea GWT din @DDE i pn anul trecut, Google a fost principalul factor de decizie n ceea ce privete viitorul acestui proiect ct i principalul contributor la codul surs :elelalte companii care au adus mbuntiri sau au dezvoltat componente pentru GWT nu aveau un mod de a contribui la codul acestuia +nul trecut Google a luat decizia de a nfiina FGWT ,teering :ommittee1 8 comitetul de conducere GWT -in acest comitet fac parte persoane care aparin unor companii ca i 9aadin, ,enc6a, <ed&at i mGWT <olul acestui comitet este de a asigura continuitatea proiectului i de a contribui la mbuntirea codului acestuia
'iitorul
:ompania 9aadin a creat un raport numit /9iitorul GWT1, bazat pe un c6estionar la care au rspuns apro$imativ GHDD de companii referitor la felul n care GWT este folosit n interiorul organizaiei lor IDJ din aplicaiile GWT sunt dezvoltate n segmentul de afaceri, iar GJ sunt 4ocuri 'ai mult de HEJ din aplicaii asigur suport pentru tablete, iar peste @;J pentru telefoane mobile <eferitor la satisfacie, KLJ dintre cei care au rspuns, sunt nemulumii de timpul de compilare, HKJ de numrul mic de componente disponibile de la Google, iar @MJ de timpul de rencrcare al aplicaiei cnd aceasta ruleaza n -ev'ode Pe de alt parte, EDJ sunt mulumii de faptul c nu trebuie s scrie nici o linie de *ava,cript, @;J de viteza aplicaiei la rulare (cnd este instalat la utilizatorii finali), iar G;J de posibilitatea de a gsi i repara defecte rapid :el mai important, ILJ din cei care au rspuns, ar folosi GWT ntr2un proiect n viitor
Conclu&ii
>olosind GWT se poate trece destul de repede de la o aplicaie care folosete librrii *ava standard (,#ing, +WT) pentru interfaa grafic, la dezvoltarea unei aplicaii #eb, putnd fi utilizate cunotinele de programare *ava pentru a structura aplicaia ntr2un mod eficient
(ibliogra$ie
6ttps.))developers google com)#eb2toolkit) 6ttps.))developers google com)#eb2toolkit)doc)latest)-evGuide&tml; 6ttps.))developers google com)#eb2toolkit)speedtracer) 6ttps.))groups google com)forum)NOforum)g#t2steering 6ttp.))senc6a com)g$t
6ttp.))vaadin com 6ttps.))vaadin com)g#t)report2@DG@ 6ttp.))code google com)p)Puake@2g#t2port) 6ttp.))c6rome angr5birds com 6ttps.))developers google com)pla5n) 6ttp.))m2g#t com)