AJAX – „javascript e dependent de platforma…”

Am inceput acest articol cu un citat, pe care fiecare developer trebuie sa il tina minte. Este raspunsul la multe intrebari pe care si le pun atat cei ce fac aplicatii in JavaScript cat si cei care le testeaza ( in cel mai nefericit caz, clientii).

De curand am facut o aplicatie care foloseste AJAX, si testand-o pe mai multe browsere, in faza finala am avut si eu de a face probleme de acest gen.

Ieri am realizat un script care sa faca o cerere http utilizand AJAX, ca sa ma conving asupra timpului de interactiune cu serverul pe diferite browsere. Rezultatele sunt graitoare:

Incepem cu Internet Explorer 7, care spre surprinderea mea este campion la viteza. Foloseste un obiect ActiveX (ActiveXObject), care a fost optimizat fata de versiunea Msxml2.XMLHTTP. Conexiunea este deschisa foarte rapid si raspunsul este incarcat instant.

Pe locul doi, desi nu ma asteptam sa fie diferente fata de Firefox 3 se pare totusi ca Opera 9.5 deschide foarte rapid conexiunea dupa care trimite la fel de rapid datele. Mai asteapta putin raspunsul, ceea ce se pare ca ii ia o secunda.

 

Firefox 3 in acest moment este pe ultimul loc. La acest capitol nu l-a intrecut pe IE. Se observa ca raspunsul trece prin toate cele 3 stari dupa trimiterea cererii, iar o secunda este timpul pierdut pentru trecerea de la starea 1 la 2 adica de la deschiderea conexiunii pana la trimiterea efectiva a cererii. Probleme cu stabilirea conexiunii au fost si in Firefox 2, unde refolosirea la intervale mici de timp ale unui obiect duce la 408, adica „Request Timeout” si accesarea campului status da o eroare, care binenteles duce la blocarea obiectului.
Cel mai simplu mod, dar nu si garantat 100% de rezolvare a erorii este distrugerea si reinitializarea obiectului inainte de a face o cerere.
Cea mai buna insa si garantata totodata este folosirea unui bloc try{}catch(){}, ascunzand astfel eroarea browserului. Putem sa recreem obiectul si in acest caz, sau putem sa apelam metoda abort().

Firefox 3 vrea sa stabileasca un record mondial!

Firefox DownloadDaca nu stiati deja, Mozilla Firefox este unul dintre cele mai populare browsere. De fapt este contracandidatul lui Internet Explorer la locul 1 pentru cel mai utilizat browser. Pe langa faptul ca are o sumedenie de plugin-uri si interfete, acesta are un avantaj cert, si anume un public numeros si foarte atasat, uneori chiar fanatic as putea spune. Nu vreau sa exagrez insa un tatuaj cu iconita Firefox mi-a dat de gandit.
Se pare ca „vulpea de foc” chiar inconjoara Pamantul la propriu. pana azi peste 1.200.000 de persoane din toate colturile lumii au semnat angajament-ul de a ajuta Firefox sa stabileasca record-ul de cel mai descarcat produs software. Peste 7800 de romani, printre care ma numar si eu ;) sustin Firefox 3. Va invit si pe voi sa-l sustineti. Si va spun asta din postura de developer de aplicatii web, nu vreti sa stiti cat de interesant poate fi sa optimizezi o aplicatie pentru Internet Explorer, mai ales cand vine vorba de javascript… .