jQuery – headcraft scripting!


Primul meu contact cu jQuery l-am avut anul trecut, cand a trebuit sa transform un tabel intreg intr-un drop-down menu fara sa afectez css-ul sau html-ul site-ului si binenteles “asap”.

Si uite asa am dat de magic-ul jQuery – cu doua linii de script am facut meniul, si fara bataie de cap cu compatibilitatea cu alte browsere.

De atunci folosesc jQuery aproape zilnic. Pana acum nu i-am gasit nici un punct slab. Inca de la versiunea 1.2.3, libraria jQuery avea metode pentru AJAX atat prin POST cat si GET, sincron sau asincron cu functie de callback care se poate apela cu rezultatul cererii ca parametru – ce mai ai la dispozitie toata banda sa comunici cu clientul in cel mai elegant mod posibil.
Despre efecte: slideUp, slideDown, fade, hide, animate etc. – trebuie sa le incercati pe toate!

De asemenea dispune de foarte multe pluginuri. De cele mai multe ori nu trebuie sa-ti bati capul sa inventezi ceva – cauti prin lista de plugin-uri!

Site-uri de vazut: www.jquery.com (site-ul oficial), www.visualjquery.com (documentatie), interface.eyecon.ro (plugin-uri si demo), www.leandrovieira.com (lightbox plugin pt jquery).

Spor la scriptat!

Mod2Chat – colaborare proiect

In vara acestui an, mai exact prin iunie, m-a rugat o cunostinta sa-i fac o aplicatie de chat care sa functioneze in intranet, care sa o prezinte la proiectul sau de liceenta. In fine m-am gandit un pic, si am ajuns la conclzia ca cel mai rapid, ar fi sa ma folosesc cunostintele mele de web si am mers pe AJAX. Cam pe vreamea aia faceam si eu cunostinta cu AJAX, si am lucrat la ea vreo 25 de ore. A iesit o aplicatie simpla fara baza de date care cu ajutorul catorva linii de cod, se poate insera pe orice site si ofera o fereastra din care se poate chatui cu toti cei intrati intrati in chat la acel moment. Tot ce ai nevoie pentru a intra in chat este un nick, care trebuie sa fie unic, si atat.

Aplicatia nu este prea stufoasa, si pentru ca m-am gandit sa mai fac cate ceva la ea in timpul liber, am facut si un site: http://mod2chat.fpage.org/ , eram entuziast, ca oricine descopera o noua tehnologia care-i permite sa faca cateva “vraji”.

Adevarul este ca a cam trecut vremea, si nu am mai avut timp de ea. Mi s-au terminat si filele in agenda… :P .

In fine daca e cineva pasionat de web care doreste sa colaboreze cu mine la promovarea si imbunatatirea Mod2Chat, ii voi oferi toata experienta de care dispun si eventual o bere rece!

Lasati un comentariu, daca va intereseaza.

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