Zašto JA ne volim jQuery

Svi, koji me iole poznaju, znaju da sam velikim protivnik jQuery-a. Ovaj članak će objasniti razloge zašto, a takođe će meni služiti kao referenca kada me neko pita "a što ga ja koristim svaki dan?".

1. Prošlo vreme

Kada se jQuery pojavio, još davne 2006. godine, ja još nisam ni počeo da učim veb tehnologije. U tom trenutku je jQuery bio san svakog developera, zato što je nastao kao rešenje jednog mnogo velikog problema - IE6. Internet Explorer 6 je bilo nešto najbliže paklu što smo videli u vebu. Ja sam imao malo dodirnih tačaka sa njim ali sam upoznat sa skoro svim "hakovima" koji su nastali kao rezultat tog veb pregledača.

jQuery je igrao jednu važnu i veliku ulogu, a to je standardizacija. Omogućio je da se developeri osećaju sigurnije zato što je kod radio na IE7 (2007. godina) a i, posebno, na IE6.

Na našu sreću IE6 je "mrtav". U međuvremenu, javaskripta je dobila dosta novina i vredno se radi na usavršavanju javaskripte i stoga korišćenje jQuery-a u nema smisla niti prednosti.

Tako da jQuery jeste odlična biblioteka, za vreme kada je bilo potrebna. Danas, mislim da svi možemo da se složimo da smo prerasli jQuery. Ali svakako, hvala mu za pomoć kada je to bilo potrebno.

2. Uništava zajednicu

Ovo nije toliko jQuery problem, već problem sa ljudima koji ga koriste.

Novi developeri koji kreću sa javaskriptom obično počinju sa jQuery-jem i potpuno se oslanjaju na njega. Iako sve ono za šta koriste u jQuery-ju je moguće podjednako lako pa čak i brže uraditi u vanila javaskripti. Gore sam pomenuo da je jQuery nastao kao biblioteka da pomogne developerima u najtežem periodu podrške veb pregledača, i iz tog razloga sa sobom nosi mnogo koda koji se nikad ne koristi.

Za takve developere koristim izraz full jQuery developer™.

Poruka od mene za full jQuery developere je da se  oslobode i probaju vanilla javaskript, jer skoro pa sve što pruža jQuery možemo lako implementirati:

  • $() selektor === querySelectorAll()
  • Dodavanje clasa addClass(), removeClass() === classList
  • Dodavanje događaja on(event) === addEventListener() je svuda podržan

Da ne bih pisao šta sve može, pogledajte na youmightnotneedjquery.

3. Performanse

Ono što je po mom mišljenju najviše ubilo jQuery jeste pojava "pametnih" telefona koji imaju pristup internetu. Prvi telefoni su bili 10, a možda čak i 100 puta sporiji nego računari u to vreme. jQuery zbog velike količine koda (150-230kB) predstavljao je usko grlo za telefone.

Mislim da je bitno da napomenem da jQuery-a zauzima dosta veliki deo koda. Neretko viđam da je jQuery uključen samo radi nekog plugina, recimo u primeru ispod bxslider.

jQuery zauzima više od 60% izlaznog koda.

Zaključak

Nemam ništa protiv jQuery, čak sam mu mnogo zahvalan iako mene nije zahvatio taj najteži period veb pregledača. Pomogao mi je dosta prilikom pravljenja veb stranica za IE9. Ipak, moje mišljenje je da smo ga odavno prerasli i da više nema smisla koristiti ga jer postoji toliko novih biblioteka koje su odgovor za današnje probleme (SPA, dinamički sadržaj). Verovatno će kroz 10 godina Vue, Angular i React biti zastarele biblioteke kao jQuery danas, što ne znači da su one loše, već da su samo bile odgovor na aktuelne probleme koji možda u budućnosti neće postojati.