Iulie 2008 – Cele mai folosite browsere

Urmarind statisticile unui magazin virtual, cu peste 20 000 de vizitatori unici pe luna, si anume MediaBoom.ro am extras un top al browserelor folosite de acestia. Urmeaza sa dezvolt o aplicatie pentru magazinele virtuale, si unul dintre scopuri a fost si acela de a identifica platformele pentru care aceasta trebuie optimizata.
Mai jos va prezint topul browserelor, prin “/” fiind separate versiunile acestora tot in ordine descrescatoare:

  1. Msie (Internet Explorer) 7.0 / 6.0 / 5.0 / 5.01 / 8.0 / 5.5
  2. Firefox 3.0.1 / 2.0.0.16 / 2.0.0.14 / 1.5.0.12 / 3.0 / 1.0.7
  3. Opera
  4. Safari
  5. BonEcho (Firefox 2.0 development)
  6. Mozilla
  7. Netscape 5.0 / 4.0
  8. Nokia Browser (PDA/Phone browser)
  9. Wget
  10. Sony/Ericsson Browser (PDA/Phone browser)
  11. Konqueror
  12. Samsung (PDA/Phone browser)

In concluzie platformele pentru care va fi optimizata aplicatia sunt : Msie 7.0, Firefox 3.0.1 si Opera. Cu speranta ca intre Msie 8.0 si Msie 7.0 nu vor mai fi la fel de mari diferentele de manipulare a DOM-ului cum sunt intre Msie 7.0 si Msie 6.0 .

Daca inca folositi Internet Explorer aici aveti 3 motive sa nu folositi Internet Explorer:
nesecurizat; daca deschideti Control Panel si la Add/Remove programs bifati “Show Updates”o sa vedeti ca IE are cateva update-uri de securitate. Deci daca nu ar avea brese de securitate nu l-ar dichisi Microsoft cu atatea update-uri….
necustomizabil; Dupa ce abia in versiunea 7 IE avea “Tabbed Browsing”, inca nu avem o interfata personalizabila.
nu este compatibil cu standardul W3C; va dau un exemplu pagina http://www.dnncreative.com/… este validata atat XHTML 1.0 cat si CSS, insa in IE 6.0 arata destul de urat…, desi in FF, Opera sau Safari arata normal. Sa nu mai vorbim de JavaScript: de exemplu jQuery-ul: $(‘#myDiv’).append(data); functioneaza in FF, Opera si Safari, in IE insa nu.

Alternative:

Firefox 3
Opera web browser - download

Nu imi mai ramane decat sa va urez: Happy browsing!

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().