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.

Yahoo si Hotmail updateaza interfata

Numarul utilizatorilor/dependentilor de internet devine din ce in ce mai mare, deci imbunatatirea interfatei cu userul devine o necesitate. Astfel, doi giganti, Yahoo si Hotmail, pregatesc o schimbare radicala a interfetei web.

Introducerea functiilor precum drag-and-drop simplifica enorm utilizarea serviciilor webmail, dar si a altor aplicatii construite in Ajax. Microsoft si Yahoo urmeaza ca in scurt timp sa actualizeze serviciile de webmail prin schimbarea interfetei grafice cu o solutie mult mai asemanatoare clientilor pentru desktop.
In prezent, atat Microsoft cat si Yahoo au dezvoltat astfel de solutii, care sunt disponibile numai sub forma de test si numai pe baza de invitatie. Piata clientilor webmail va mai primi in curand un nou membru open source, denumit Zimbra, construit deasemenea pe standardul AJAX (Asynchronous JavaScript and XML).

Clientii webmail construiti pe baza AJAX pot actualiza informatia instantaneu, astfel incat odata cu deschiderea unui mesaj, acesta se incarca mult mai rapid. La fel, la stergerea unui email, aplicatia actualizeaza imediat afisarea, desi in fundal inca se deruleaza operatiunea de stergere.

Noul Yahoo Mail va oferi posibilitatea folosirii shortcut-urilor in mod asemanator unei aplicatii desktop, iar prin apasarea tastelor CTRL si SHIFT se vor putea selecta mai multe mesaje. Inca in versiune beta, Yahoo se remarca totusi prin forma ergonomica si puterea de procesare. Noua structura afiseaza trei paneluri, precum Outlook Express sau Mozilla Thunderbird.


Hotmail nu se lasa mai prejos si propune un design deosebit pentru interfata grafica, bazat pe modelele anterioare microsoft, de exemplu Outlook.

Sub o titulatura de cod cu rezonante razboinice - Kahuna, Microsoft si-a pregatit noua interfata grafica a serviciului de webmail Hotmail. Testarea versiunii Mail Beta a demarat astazi pentru acei internauti care si-au aratat interesul si care detin deja un cont de Hotmail.
Upgrade-ul anuntat pentru Hotmail va propune suport pentru interfata AJAX, care a fost rescrisa de la zero pe baza framework-ului Atlas al Microsoft si a unei noi arhitecturi denumita FireAnt.



Interesant de aflat cine va lansa noua interfata mai repede si cine va avea mai mult succes!

duminică, 11 ianuarie 2009

Google trends


Zilele trecute m-am gandit sa mai vad care sunt noutatile, sau cum s-ar spune printre tineri care mai sunt trendurile, in materie de programare web. Astfel am ajuns sa aflu ca cei de la Google pun la dispozitie Google Trends care e un utilitar ce ofera utilizatorilor un mod de a vedea o statistica a cautarilor de-a lungul timpului pentru cuvintele care le trec prin cap sa le introduca in spatiul de cautare.

Asa ca am incercat sa vad ce se mai "poarta", ce este la moda, in cazul programarii web, a standardelor si aspectelor legate de aceasta.

PHP vs. Java. vs. Perl vs. Ruby


Se pare ca Java este inca cel mai tare limbaj de programare in ciuda tuturor frustrarilor la care sunt pusi dezvoltatorii cand vine vorba de facut toate setarile pentru ca sistemul lor sa mearga in tot ceea ce priveste Java. PHP-ul inca este regele in lumea scripturilor pentru internet, Perl-ul cam moare iar Ruby-ul nu este prea popular.

Firefox vs. Internet Explorer


Firefox-ul se pare ca a preluat pozitia numraul 1, desi nu pot spune ca este o surpriza. Poate in viitorul apropriat dezvoltatorii web nu vor trebui sa petreaca ore in plus pentru a face totul sa mearga si sa arate la fel cross-browser (adica pe orice alt browser in afara de IE), din moment ce nu prea multa lume mai foloseste IE.

DHTML vs. CSS vs. JavaScript


Acest grafic e cumva surprinzator din moment ce arata un declin in folosirea DHTML-ului, care practic este o combinatie de HTML, CSS si JavaScript. JavaScript este cautat din ce in ce mai putin,numarul cautarile pentru CSS este stabil in ultimii ani si candva la moda DHTML-ul nu prea mai are parte de cautari.

XSS vs. SQL Injection


Aceasta ultima comparatie arata ca dezvoltatorii din ziua de azi par sa fie mai bine informati in legatura cu posibilele amenintari care se ascund in codul lor. Injectia de SQL a fost intotdeauna un subiect fierbinte asa cum arata graficul, dar undeva de-a lungul anului 2004 cand "web 2.0" era la inceputuri, subiectul XSS a devenit relevant si inca se mentine, dat fiind faptul ca injectia de SQL se "bate" pentru primul loc.