jQuery -
Toda v zadnjih letih se je njegov status glavnega orodja za spletni razvoj zmanjšal. Poglejmo, zakaj je jQuery postal popularen in zakaj je izpadel iz mode ter v katerih primerih ga je še priporočljivo uporabljati za izdelavo sodobnih spletnih strani.
Kratka zgodovina jQuery
John Resig (
jQuery je knjižnica Javascript, ki temelji na motu: Javascript bi moral biti zabaven za kodiranje. jQuery prevzame običajne, ponavljajoče se naloge, odstrani vse nepotrebne oznake in jih naredi kratke, elegantne in čiste.
jQuery ima dve glavni prednosti. Prvi je priročen API za upravljanje spletnih strani. Predvsem ponuja zmogljive metode za izbiro elementov. Ne samo, da lahko izbirate po ID-ju ali razredu, jQuery vam omogoča pisanje zapletenih izrazov, na primer za izbiro elementov na podlagi njihovih odnosov z drugimi elementi:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Sčasoma je izbirni mehanizem postal ločena knjižnica
Druga prednost knjižnice je bila, da je abstrahirala razlike med brskalniki. V tistih letih je bilo težko napisati kodo, ki bi lahko zanesljivo delovala v vseh brskalnikih.
Pomanjkanje standardizacije je pomenilo, da so morali razvijalci upoštevati številne razlike med brskalniki in robnimi primeri. Poglej
// If Mozilla is used
if ( jQuery.browser == "mozilla" || jQuery.browser == "opera" ) {
// Use the handy event callback
jQuery.event.add( document, "DOMContentLoaded", jQuery.ready );
// If IE is used, use the excellent hack by Matthias Miller
// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited
} else if ( jQuery.browser == "msie" ) {
// Only works if you document.write() it
document.write("<scr" + "ipt id=__ie_init defer=true " +
"src=javascript:void(0)></script>");
// Use the defer script hack
var script = document.getElementById("__ie_init");
script.onreadystatechange = function() {
if ( this.readyState == "complete" )
jQuery.ready();
};
// Clear from memory
script = null;
// If Safari is used
} else if ( jQuery.browser == "safari" ) {
// Continually check to see if the document.readyState is valid
jQuery.safariTimer = setInterval(function(){
// loaded and complete are both valid states
if ( document.readyState == "loaded" ||
document.readyState == "complete" ) {
// If either one are found, remove the timer
clearInterval( jQuery.safariTimer );
jQuery.safariTimer = null;
// and execute any waiting functions
jQuery.ready();
}
}, 10);
}
In zahvaljujoč jQueryju bi razvijalci lahko preložili skrbi glede vseh teh pasti na ramena ekipe, ki razvija knjižnico.
Kasneje je jQuery olajšal implementacijo kompleksnejših tehnologij, kot so animacije in Ajax. Knjižnica je dejansko postala standardna odvisnost za spletna mesta. In danes napaja ogromen delež interneta. W3Techs verjame v to
Tudi nadzor nad razvojem jQuery je postal bolj formaliziran. Leta 2011 ekipa
Leta 2015 se je fundacija jQuery združila s fundacijo Dojo,
Spreminjanje okoliščin
Vendar pa je v zadnjih letih jQuery
Brskalniki
Zaradi številnih razlogov so razlike in omejitve brskalnikov postale manj pomembne. Prvič, standardizacija se je izboljšala. Glavni razvijalci brskalnikov (Apple, Google, Microsoft in Mozilla) sodelujejo pri razvoju
Čeprav se brskalniki med seboj še vedno razlikujejo na več pomembnih načinov, imajo prodajalci vsaj možnost iskanja in ustvarjanja skupne podatkovne baze namesto
// jQuery
$.getJSON('https://api.com/songs.json')
.done(function (songs) {
console.log(songs);
})
// native
fetch('https://api.com/songs.json')
.then(function (response) {
return response.json();
})
.then(function (songs) {
console.log(songs);
});
Metode
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Zdaj lahko manipulirate z razredi elementov z uporabo
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Mesto
Uporaba izvornih funkcij izboljša delovanje strani. Mnogi
Drugi razlog je, da se brskalniki posodabljajo veliko hitreje kot prej. Večina jih uporablja
To pomeni, da se nove funkcije brskalnika in popravki napak distribuirajo veliko hitreje, razvijalcem pa ni treba čakati, da
Tretji razlog je, da se Internet Explorer bliža stanju popolne nepomembnosti. IE je že dolgo poguba spletnega razvoja po vsem svetu. Njegove napake so bile zelo razširjene in ker je IE prevladoval v 2000-ih in ni uporabljal zimzelene strategije posodabljanja, so starejše različice še vedno pogoste.
Leta 2016 je Microsoft pospešil razgradnjo IE,
Celo jQuery je prenehal podpirati IE 8 in starejše od
Novi okvirji
Od pojava jQuery je bilo ustvarjenih veliko ogrodij, vključno s sodobnimi voditelji
Prvič, olajšajo ločevanje uporabniškega vmesnika na komponente. Ogrodja so zasnovana za upravljanje upodabljanja in posodabljanja strani. In jQuery se običajno uporablja samo za posodabljanje, pri čemer je naloga zagotavljanja začetne strani prepuščena strežniku.
Po drugi strani vam komponente React, Angular in Vue omogočajo tesno povezavo HTML, kode in celo CSS. Tako kot bazo kode razdelimo na številne samostojne funkcije in razrede, zmožnost razdelitve vmesnika na komponente, ki jih je mogoče ponovno uporabiti, olajša izdelavo in vzdrževanje kompleksnih spletnih mest.
Druga prednost je ta, da se novejši okviri držijo deklarativne paradigme, v kateri razvijalec opiše, kako naj bi izgledal vmesnik, in prepusti ogrodju, da izvede vse potrebne spremembe, da doseže želeno. Ta pristop je v nasprotju z imperativnim pristopom, ki je značilen za kodo jQuery.
V jQuery izrecno zapišete korake za kakršno koli spremembo. In v deklarativnem okviru rečete: "Glede na te podatke bi moral biti vmesnik videti tako." To lahko zelo olajša pisanje kode brez napak.
Razvijalci so sprejeli nove pristope k razvoju spletnih strani, zato se je priljubljenost jQuery zmanjšala.
Kdaj uporabiti jQuery?
Torej kdaj mora biti uporabljaš jQuery?
Če se kompleksnost projekta poveča, potem je bolje začeti z drugo knjižnico ali ogrodjem, ki vam omogoča smiselno upravljanje kompleksnosti. Na primer, razdelite vmesnik na komponente. Uporaba jQuery na takšnih spletnih mestih je morda na začetku videti v redu, vendar bo hitro pripeljala do kode špageti, kjer niste prepričani, kateri fragment vpliva na kateri del strani.
Bil sem v takšni situaciji, ko poskušam narediti kakršno koli spremembo, se mi zdi težka naloga. Ne morete biti prepričani, da ne boste ničesar pokvarili, ker so izbirniki jQuery odvisni od strukture HTML, ki jo ustvari strežnik.
Na drugem koncu lestvice so preprosta spletna mesta, ki zahtevajo le malo interaktivnosti ali dinamične vsebine. Tudi v teh primerih ne bi privzeto uporabil jQuery, ker lahko z izvornimi API-ji naredite veliko več.
Tudi če bom rabil kaj močnejšega, bom poiskal specializirano knjižnico, npr.
Mislim, da je najboljša utemeljitev za uporabo jQuery ta, da zagotavlja celovito funkcionalnost za sprednji del spletnega mesta. Namesto učenja različnih izvornih API-jev ali specializiranih knjižnic, lahko preberete samo dokumentacijo jQuery in takoj postanete produktivni.
Imperativni pristop se ne prilagaja dobro, vendar se ga je lažje naučiti kot deklarativni pristop drugih knjižnic. Za spletno mesto z jasno omejenimi zmogljivostmi je bolje uporabiti jQuery in delati mirno: knjižnica ne zahteva zapletenega sestavljanja ali prevajanja.
Poleg tega je jQuery dober, če ste prepričani, da se vaše spletno mesto sčasoma ne bo zapletlo, in če vam ni mar za izvorno funkcionalnost, ki bo zagotovo zahtevala pisanje več kode kot jQuery.
To knjižnico lahko uporabite tudi, če potrebujete podporo za starejše različice IE. Potem vam bo jQuery služil kot v časih, ko je bil IE najbolj priljubljen brskalnik.
prospection
jQuery ne bo kmalu izginil. Ona
Razen če se funkcionalnost jQuery bistveno ne spremeni, je verjetno, da bo uporaba knjižnice v naslednjih nekaj letih počasi, a vztrajno upadala. Nova spletna mesta so že od začetka običajno zgrajena z uporabo sodobnejših okvirov, primerni primeri uporabe za jQuery pa postajajo vse redkejši.
Nekaterim ni všeč hitrost, s katero orodja za spletni razvoj zastarajo, zame pa je to dokaz hitrega napredka. jQuery nam je omogočil, da naredimo veliko stvari bolje. Enako velja za njene naslednike.
Vir: www.habr.com