
jQuery â JavaScript'i raamatukogu. Veebiarendajate kogukond lĂ”i selle 2000. aastate lĂ”pus, mis viis rikkaliku ökosĂŒsteemi, mille hulka kuuluvad saidid, pistikprogrammid ja raamistikud, mis kasutavad jQuery't.
Kuid viimastel aastatel on selle staatuse peamise veebiarendamise tööriistana kÔigutatud. Vaatame, miks jQuery sai populaarseks ja miks see on moest vÀlja lÀinud, samuti millal on paradoksaalselt endiselt mÔistlik seda kasutada kaasaegsete saitide loomisel.
jQuery lĂŒhike ajalugu
John Resig () lĂ”i raamatukogu esimese versiooni 2005. aastal ja aastal ĂŒritusel nimega BarCampNYC. jQuery kiri ĂŒtles:
jQuery â see on JavaScripti raamatukogu, mille pĂ”hitees on: JavaScripti programmeerimine peab olema nauditav. jQuery vĂ”tab sagedased, korduvad ĂŒlesanded, kĂ”rvaldab kogu tarbetu markeeringu ning muudab need lĂŒhemaks, elegantsemaks ja arusaadavamaks.
jQuery-l on kaks peamist eelist. Esiteks on see mugav API veebilehtede manipuleerimiseks. Sealhulgas pakub see vÔimsaid meetodeid elementide valimiseks. Saate valida mitte ainult ID-de vÔi klasside jÀrgi; jQuery vÔimaldab kirjutada keerukaid avaldisi, et valida elemente vastavalt nende seostele teiste elementidega:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');Aja jooksul muutus valikumehhanism eraldi raamatukoguks .
Teiseks eelisteks oli see, et raamatukogu abstraheeris erinevused brauserite vahel. Neil pÀevadel oli keeruline kirjutada koodi, mis suudaks usaldusvÀÀrselt töötada kÔikides brauserites.
Standardimise puudumine tÀhendas, et arendajad pidid arvestama mitmete erinevustega brauserite vahel ja piirjuhtumitega. Vaadake seda varajast jQuery lÀhtekoodi Ja tÀnu jQuery-le said arendajad kÔik need mured sellest, kuidas need kÔik need takistused kÔrvaldada, raamatukogu arendustiimi Ôlgadele.
// 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);
}Ja kuna jQuery, saavad arendajad kĂ”ik need mured libisemise ĂŒle jĂ€tta raamatukogu arendusmeeskonna Ă”lgadele.
Hiljem lihtsustas jQuery keerukamate tehnoloogiate, nagu animatsioonid ja Ajax, rakendamist. Raamatukogust on saanud tÔeliselt standardne veebilehtede sÔltuvus. TÀnapÀeval toetab see suurt osa Internetist. W3Techs hindab, et .
jQuery arengu kontroll on muutunud formaalsemaks. 2011. aastal lÔi meeskond . 2012. aastal muutus jQuery Board.
. 2015. aastal liitus jQuery Foundation Dojo Foundationiga,, mis liitus seejÀrel Node.js FoundationigaOpenJS Foundationi loomise jaoksmurrangulisi projekte.»
Kuid viimastel aastatel on jQuery
kaotanud oma populaarsust eemaldas raamatukogu oma saiti esiosa.jÀtab jQuery kÔrvale suurim kliendi sÔltuvus tavalise JavaScripti jaoks» (praegu 30 KB suuruses, minimeeritud ja pakitud). Mitmed veebiarenduse suundumused on nÔrgestanud jQuery positsiooni kui vajalikku tööriista.
Brauserid
Mitmete pÔhjuste tÔttu on brauseridest tingitud erinevused ja piirangud muutunud vÀhem oluliseks. Esiteks, standardiseerimine on paranenud. Peamised brauseri arendajad (Apple, Google, Microsoft ja Mozilla) töötavad koos vÀlja raames.
Kuigi brauserid erinevad endiselt ĂŒksteisest mitmete oluliste aspektide poolest, on tarnijatel vĂ€hemalt vĂ”imalus leida ja luua ĂŒhtne alus, mitte ĂŒksteisega. Vastavalt on brauserite API-d saanud uusi vĂ”imalusi. NĂ€iteks suudab asendada jQuery Ajax-funktsioone:
// 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);
});Meetodid ja korrata jQuery valikutööriistu:
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');Elementide klassidega manipuleerimise nĂŒĂŒd saab teha :
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');Lehelt on loetletud veel mÔned olukorrad, kus jQuery koodi saab asendada natiivse koodiga. MÔned arendajad kasutavad alati jQuery-d, sest nad ei tea lihtsalt uutest API-dest, kuid kui nad saavad teadlikuks, hakkavad nad seda teeki harvemini kasutama.
Natiivsete vĂ”imaluste kasutamine vĂ”imaldab suurendada lehtede jĂ”udlust. Paljusid saab nĂŒĂŒd rakendada CSS-i abiga.
Teine pĂ”hjus on see, et brauserid uuenevad palju kiiremini kui varem. Enamik neist kasutab , vĂ€lja arvatud Apple Safari. Need vĂ”ivad uuendada salaja, ilma kasutaja sekkumiseta, ja ei ole seotud operatsioonisĂŒsteemide uuendustega.
See tĂ€hendab, et uued brauserifunktsioonid ja veaparandused levivad palju kiiremini, ega peavad arendajad ootama, kuni jĂ”uab vastuvĂ”etava tasemeni. Nad saavad julgelt uusi funktsioone ja API-sid kasutada ilma jQuery vĂ”i polĂŒfiilide laadimiseta.
Kolmas pĂ”hjus on see, et Internet Explorer lĂ€heneb tĂ€ieliku vananenud olekuni. IE on juba ammu olnud veebiarenduse nuhtluseks ĂŒle kogu maailma. Tema iseloomulikud vead olid laialdaselt levinud, ja kuna IE domineeris 2000. aastatel ja ei kasutanud âigihaljastâ uuendamise strateegiat, on tema vanu versioone endiselt sageli nĂ€ha.
2016. aastal kiirendas Microsoft IE vĂ€ljakutsumist, kĂŒmnendat ja varasemaid versioone, piirdudes IE 11 toe pakkumisega. Ăha sagedamini saavad veebiarendajad endale lubada luksust IE toetamisest kĂ”rvale jĂ€tta.
Isegi jQuery lÔpetas IE 8 ja madalamate versioonide toe alates , mis ilmus 2013. aastal. Kuigi teatud olukordades on endiselt vajalik IE toetus, nÀiteks vanadel veebisaitidel, esinevad need situatsioonid jÀrjest harvem.
Uued raamistikud
Alates jQuery ilmumisest on loodud mitmeid raamistikke, sealhulgas kaasaegsed liidrid , ja . Nendel on kaks olulist eelist jQuery ees.
Esiteks, need vĂ”imaldavad hĂ”lpsasti jagada kasutajaliidese komponente. Raamistikke on projekteeritud lehe renderdamise ja uuendamise toetamiseks. jQuery-d kasutatakse tavaliselt ainult uuendamiseks, jĂ€ttes serverile ĂŒlesande esialgse lehe pakkumise.
Teisest kĂŒljest vĂ”imaldavad Reacti, Angulari ja Vue komponendid HTMLi, koodi ja isegi CSSi tihedat sidumist. Nii nagu jagame koodibaasi paljude iseseisvate funktsioonide ja klasside kaupa, lihtsustab kasutajaliidese jagamine korduvkasutatavate komponentideks keerukate veebisaitide loomist ja hooldamist.
Teiseks eeliseks on see, et uuemad raamistikud jÀrgivad deklaratiivset paradigmat, kus arendaja kirjeldab, milline kasutajaliides peaks vÀlja nÀgema, ja raamistik kannab vastutust kÔigi vajalike muudatuste tegemise eest soovitud tulemuse saavutamiseks. See lÀhenemine on vastuolus imperatiivse lÀhenemisega, mis on iseloomulik jQuery koodile.
jQuery-s mÀÀrate te selgelt sammud, et teha mingeid muudatusi. Deklaratiivses raamistikus aga ĂŒtlete: "Nende andmete pĂ”hjal peaks liides vĂ€lja nĂ€gema nii". See vĂ”ib oluliselt lihtsustada vigade vaba koodi kirjutamist.
Arendajad on omaks vÔtnud uusi lÀhenemisi veebilehtede arendamiseks, mistÔttu jQuery populaarsus on vÀhenenud.
Millal kasutada jQuery?
Nii millal tuleks kasutada jQuery?
Kui projekti keerukus kasvab, on parem alustada teise teegi vÔi raamistiku kasutamisest, mis vÔimaldab mÔtestatult keerukust hallata. NÀiteks komponentideks jagamine kasutajaliideses. jQuery kasutamine sellistes veebilehtedes vÔib alguses tunduda vastuvÔetav, kuid see toob kiiresti kaasa spagetikoodi tekkimise, kui te ei ole kindel, milline fragment mÔjutab mingit osa lehelt.
Olen olnud sellises olukorras, kus igasugune muudatus tundub keeruline ĂŒlesanne. Ei saa olla kindel, et midagi katki ei lĂ€he, kuna jQuery selektorid sĂ”ltuvad serveri loodud HTML struktuurist.
Teiselt poolt on lihtsad veebilehed, mis vajavad vaid natuke interaktiivsust vĂ”i dĂŒnaamilist sisu. Sellistes olukordades ei sooviks ma samuti jQueryd vaikimisi kasutada, sest natiivsete APIde kaudu on vĂ”imalik teha palju rohkem.
Isegi kui mul oleks vaja midagi vÔimsamat, otsiksin ma spetsialiseeritud teeki, nÀiteks Ajaxi jaoks vÔi animatsioonide jaoks. See on lihtsam, kui laadida alla kogu jQuery vÀikese funktsionaalsuse nimel.
MÔtle, et jQuery kasutamise parimaks pÔhjuseks on see, et see pakub pÔhjalikku funktsionaalsust veebisaidi front-end'i jaoks. Selle asemel, et tudeerida mitmesuguseid natiivseid API-sid vÔi spetsialiseeritud teeke, vÔite lugeda lihtsalt jQuery dokumentatsiooni ja olla kohe produtktiivne.
Imperatiivne lÀhenemine ei skaalu hÀsti, kuid selle mÔistmine on lihtsam kui teiste teekide deklaratiivne lÀhenemine. Selgelt piiratud vÔimalustega saidi puhul on parem kasutada jQuery-d ja töötada rahulikult: raamatukogu ei vaja keerulist koostamist vÔi kompileerimist.
Samuti on jQuery hea variant, kui olete kindel, et veebisait ei muutu aja jooksul keerukamaks, ja kui teid ei hÀiri natiivne funktsionaalsus, mis kindlasti nÔuab rohkem koodi kirjutamist kui jQuery.
Samuti saate seda teeki kasutada, kui peate toetama vanu IE versioone. Sel juhul teenib jQuery teid nagu tollal, kui IE oli kÔige populaarsem brauser.
Pilguheit tulevikku
jQuery ei kao niipea. See , ja paljud arendajad eelistavad kasutada selle API-t, isegi kui on olemas natiivmeetodid. Raamatukogu aitas tervele jÀrjekonnale arendajatest luua veebisaite, mis töötavad kÔikides brauserites. Ja kuigi paljuski on uued raamatukogud, raamistikud ja paradigmaid selle asendanud, on jQuery mÀnginud tohutut positiivset rolli kaasaegse veebilehe loomisel.
Kui jQuery funktsionaalsus ei muutu olulisel mÀÀral, on tĂ€iesti tĂ”enĂ€oline, et jĂ€rgmise paarikĂŒmne aasta jooksul selle raamatukogude kasutamine jĂ€tkab aeglast, kuid jĂ€rkjĂ€rgulist langust. Uued veebisaidid luuakse tavaliselt kohe kaasaegsete raamistikude kasutamisega ning sobivate jQuery kasutusscenario'de esinemine on ĂŒha haruldasem.
MÔnele ei meeldi veebiarendustööriistade kiire vananemise intensiivsus, kuid minu jaoks on see mÀrk kiirest progressist. jQuery vÔimaldas meil teha palju paremini. Sama kehtib ka tema jÀrgijate kohta.
Allikas: habr.com
