Vom vorbi in acest articol despre bune practici in ceea ce priveste folosirea librariilor de JavaScript in paginile noastre. Nu voi intra in detalii despre bunele practici in ceea ce priveste diverse tehnici de programare. Tema de azi e mult mai simpla. Cand si unde includem librariile pe care le folosim.
Este bine stiut ca in ziua de azi majoritatea site-urilor sunt contruite dinamic. Asta inseamna ca ele se baseaza pe un fisier principal care contine structura de baza a site-ului si care apeleaza diverse module, cum ar fi sidebar-ul, sau continutul.
Astfel, apare intrebarea. Includem libraria in fisierul de baza (ex. layout.php sau template.php), sau in fiecare pagina in care o folosim? Nu exista raspunsul universal la aceasta intrebare. Depinde foarte mult de ceea ce facem.
Astfel, daca libraria este folosita in toate paginile, chiar si in 90% din ele, are sens sa includem libraria in fisierul de layout. Ar fi absurd sa includem libraria in 16 pagini de interior, doar ca sa nu o includem in ale 2 sau 3.
Pe de alta parte, daca aplicatia/site-ul nu foloseste libraria decat intr-o pagina de login, pentru validarea formularului de exemplu, nu are sens sa o includem peste tot. Trebuie totusi sa tinem cont ca, jQuery de exemplu, are 26KB. Nu pare mult, dar intr-un site cu trafic foarte mare nu e normal sa incarcam inca 26KB la fiecare pagina, cand libraria nu este folosita decat in una sau doua pagini.
Si mai e ceva. Inca un motiv pentru care cred ca, atunci cand este posibil, e bine sa includem librariile doar acolo unde e nevoie. Este bine ca, pe cat posibil, sa incercam sa evitam potentiale conflicte intre librarii. Asa cum am scris intr-un articol anterior, jQuery si Prototype intra in conflict atunci cand sunt incluse in aceeasi pagina.
O sa spuneti ca nu e bine sa folosesti mai multe librarii la acelasi proiect si la nivel de principiu sunt de acord. Dar ce facem cand avem un proiect mare, la care lucreaza o echipa? Mai mult, trebuie sa recunoastem ca nu exista libaria perfecta. Unele se preteaza mai bine pentru anumite actiuni, iar altele pentru cu totul altceva.
In concluzie, nu cred ca exista metoda universala. Nu spun ca ar trebui sa facem intr-un fel sau altul, pentru ca nevoile unui developer variaza. Ce spun insa, este ca putem fi atenti sa nu includem jQuery (de exemplu) intr-un proiect cu 18 ecrane, cand nu-l folosim decat in 2 dintre ele.