
jQuery â JavaScripti teeke maailmas. Veebiarendajate kogukond lĂ”i selle 2000. aastate alguses, mis viis rikkaliku ökosĂŒsteemi loomisele, mis kasutab jQuery't oma tagakĂŒljel, sealhulgas saite, pluginaid ja raamistikke.
Kuid viimastel aastatel on selle staatuse peamise tööriistana veebiarenduses kÔikumine. Vaatame, miks jQuery sai populaarseks ja miks see on moest vÀlja löönud ning millistel juhtudel on selle kasutamine kaasaegsete veebisaitide loomisel endiselt mÔistlik.
jQuery Đ»ĂŒhiajalugu
John Resig () lĂ”i esimese versiooni teegist 2005. aastal ja BarCampNYC nime kandnud ĂŒritusel. jQuery ametlikul veebisaidil jQuery on JavaScripti teek, selle aluspĂ”himĂ”te on: JavaScripti programmeerimine peab olema nauditav. jQuery vĂ”tab sagedased, korduvad ĂŒlesanded, eemaldab kogu mittevajaliku mĂ€rgistus ja muudab need lĂŒhikeseks, elegantseks ja arusaadavaks.
jQuery-l on kaks peamist eelist. Esiteks on see mugav API veebilehtede manipuleerimiseks. EelkÔige pakub see vÔimsaid meetodeid elementide valimiseks. Valida saab mitte ainult ID vÔi klasside jÀrgi, jQuery vÔimaldab kirjutada keerulisi vÀljendeid, nÀiteks, et valida elemente, mis pÔhinevad nende suhetele teiste elementidega:
Aja jooksul muutus valimismehhanism eraldi teegiks
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');Sizzle .
Standardeerimise puudumine tÀhendas, et arendajad pidid arvestama arvukate erinevustega brauserite vahel ja piirjuhtidena. Vaadake
seda varajast jQuery lĂ€htekoodi Ja jQuery toel said arendajad kanda mured nende allakĂ€ikude ĂŒle teegi arendusmeeskonna Ă”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);
}Hiljem lihtsustas jQuery keerukamate tehnoloogiate, nagu animatsioonide ja Ajaxi, rakendamist. Teek muutus sisuliselt veebisaitide sÔltuvuseks. Ja tÀna toetab see olulist osa internetist. W3Techsi andmetel arvavad
et 74% veebilehtedest kasutavad tÀna jQuery't. .
jQuery Board. jQuery Foundation'iks..
2015. aastal liitus jQuery Foundation Dojo Foundationiga,, mis hiljem ĂŒhines Node.js Foundationigaâs, et luua, mille raames oli jQuery ĂŒks «.»
Muutuvad olud
Siiski on jQuery viimasel ajal . GitHub. Bootstrap v5 , sest see on nende «» (hetkel suurusega 30 KB, minifitseeritud ja pakendatud). Mitmed veebiarenduse suundumused on nÔrgestanud jQuery vajadust kui olulist tööriista.
Brauserid
Mitmetel pÔhjustel on brauserite erinevused ja piirangud muutunud vÀhem oluliseks. Esiteks, standardiseerimine on paranenud. Peamised brauseriarendajad (Apple, Google, Microsoft ja Mozilla) töötavad koos Apache Traffic Control.
Kuigi brauserid erinevad endiselt mitmes olulises punktis, on valmistajatel nĂŒĂŒd vĂ”imalus leida ja luua ĂŒhine alus ilma omavahel. JĂ€relikult on brauseri 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 duplitseerivad jQuery valikuvahendeid:
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');Elemendi klasside muutmiseks saab nĂŒĂŒd kasutada :
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');Meie veebisaidil on loetletud veel mÔned olukorrad, kus jQuery koodi saab asendada kohandatud koodiga. MÔned arendajad jÀÀvad alati jQuery juurde, sest nad lihtsalt ei tea uutest API-dest, kuid kui nad teavad, hakkavad nad seda raamatukogu harvemini kasutama.
Kohandatud vĂ”imaluste kasutamine vĂ”imaldab lehtede jĂ”udlust parandada. Paljusid saab nĂŒĂŒd rakendada CSS-i abil.
Teine pĂ”hjus on see, et brauserid uuenevad palju kiiremini kui kunagi varem. Enamikus neist on rakendatud , vĂ€lja arvatud Apple Safari. Need saavad uuendada taustal ilma kasutaja kaasamiseta ja ei ole seotud operatsioonisĂŒsteemi vĂ€rskendustega.
See tĂ€hendab, et uued brauserivĂ”imalused ja vigade parandused levivad palju kiiremini ja arendajad ei pea ootama, kuni saab aktsepteeritavale tasemele. Nad saavad julgesti kasutada uusi funktsioone ja API-sid ilma jQuery vĂ”i polĂŒfillideta.
Kolmas pÔhjus on see, et Internet Explorer lÀheneb tÀieliku aegunemise seisundile. IE on juba ammu olnud veebiarenduse nuhtlus kogu maailmas. Sellele iseloomulikud vead on laialdaselt levinud ja kuna IE valitses 2000. aastatel ja ei kasutanud "igavest roheline" uuendamisstrateegiat, on selle vanad versioonid ikka veel sageli esindatud.
2016. aastal kiirendas Microsoft IE kĂ”rvaldamist, kĂŒmnendale ja varasematele versioonidele, piirdudes IE 11 toe pakkumisega. Ăha sagedamini saavad veebiarendajad endale lubada luksust IE-ga ĂŒhilduvuse tĂ€helepanuta jĂ€tmist.
Isegi jQuery lÔpetas IE 8 ja varasemate versioonide toe alates , mis ilmus 2013. aastal. Ja kuigi mÔnes olukorras on IE toe vajadus, nÀiteks vanade saitide puhul, esinevad need olukorrad jÀrjest harvemini.
Uued raamistikud
On loodud palju raamistikku alates jQuery-st, sealhulgas kaasaegseid liidreid , ja . Nendel on jQuery ees kaks olulist eelist.
Esitex, nad vĂ”imaldavad lihtsalt jagada kasutajaliidese komponente. Raamistikke on kavandatud lehe renderdamiseks ja vĂ€rskendamiseks. Jquery-d kasutatakse tavaliselt ainult vĂ€rskendamiseks, jĂ€ttes serveri ĂŒlesande algse lehe pakkumiseks.
Teiselt poolt, Reacti, Angulari ja Vue komponentide abil saab tihedalt siduda HTML-i, koodi ja isegi CSS-i. Nii nagu me jagame koodibaasi paljudeks iseseisvateks funktsioonideks ja klassideks, lihtsustab ka vĂ”imalus jaotada liides ĂŒmberkasutatavateks komponentideks keeruliste saitide loomist ja hooldamist.
Teiseks eeliseks on see, et uuemad raamistikud jÀrgivad deklaratiivset paradigma, mille raames arendaja kirjeldab, milline peab liides vÀlja nÀgema, samas kui kÔik vajalikud muudatused soovitud tulemuse saavutamiseks on raamistikule usaldatud. See lÀhenemine on vastupidine imperatiivsele lÀhenemisele, mis on iseloomulik jQuery koodile.
jQuery-s tĂ€psustate te sammud, et teha mingeid muudatusi. Deklaratiivses raamistikus ĂŒtlete: "Selle teabe pĂ”hjal peab liides vĂ€lja nĂ€gema nii." See vĂ”ib koodi kirjutamise oluliselt lihtsustada, et vĂ€ltida vigu.
Arendajad on omaks vÔtnud uued lÀhenemisviisid veebisaitide arendamisel, mis on vÀhendanud jQuery populaarsust.
Millal kasutada jQuery-d?
Nii et millal tuleks pÀrast kasutada jQuery?
Kui projekti keerukus suureneb, on mÔistlik alustada teise teegi vÔi raamistikuga, mis vÔimaldab keerukust mÔtestatult hallata. NÀiteks jagada liidese komponente. jQuery kasutamine sellistes saitides alguses vÔib tunduda aktsepteeritav, kuid see viib kiiresti spagetti-koodi tekkeni, kui te ei ole kindel, milline fragment mÔjutab mingit lehe osa.
Olen sellises situatsioonis olnud, kus iga muudatuse tegemine tekitab raske ĂŒlesande tunde. Ei ole kindel, et midagi ei riku, kuna jQuery selektorid sĂ”ltuvad serveri loodud HTML struktuurist.
Teiselt poolt on lihtsad saidid, mis vajavad vaid natuke interaktiivsust vĂ”i dĂŒnaamilist sisu. Sellistel juhtudel ei kasutaks ma ka jQuery't vaikimisi, kuna natiivsete API-dega on vĂ”imalik teha palju rohkem.
Ieven kui mul on vaja midagi vÔimsamat, otsin ma spetsialiseeritud teeki, nÀiteks Ajaxi jaoks vÔi animatsioonide jaoks. See on lihtsam, kui laadida kogu jQuery't vÀikese funktsionaalsuse nimel.
Arvan, et parim Ă”igustus jQuery kasutamiseks on see, et see pakub kĂ”ikehĂ”lmavat funktsionaalsust veebilehe esikĂŒljega töötamiseks. Selle asemel, et Ă”ppida mitmesuguseid natiivseid API-sid vĂ”i spetsialiseeritud teeke, vĂ”ite lugeda vaid jQuery dokumentatsiooni ja hakata kohe tootlikuks.
Imperatiivne lÀhenemine ei skaleeru hÀsti, kuid selle omandamine on lihtsam kui teiste teekide deklaratiivne lÀhenemine. Selgelt piiratud vÔimalustega saidile on parem kasutada jQuery't ja rahulikult töötada: teek ei nÔua keerulist koostamist ega kompileerimist.
Lisaks on jQuery hea juhul, kui olete kindel, et sait ei muutu aja jooksul keerukamaks, ja kui teid ei hÀiri natiivne funktsionaalsus, mis kindlasti nÔuab rohkem koodi kirjutamist kui jQuery.
Samuti vÔite seda teeki kasutada, kui on vaja toetada vanu IE versioone. Siis teenib jQuery teid nagu tookord, kui IE oli kÔige populaarsem brauser.
Vaade tulevikku
jQuery ei kao kaua. See , ja paljud arendajad eelistavad kasutada selle API-d, isegi kui natiivsed meetodid on saadaval. Raamatukogu aitas kokku tervele pÔlvkonnale arendajatest luua veebisaite, mis töötavad kÔigis brauserites. Ja kuigi paljuski on uued raamatukogud, raamistikud ja paradigmad selle asemele astunud, on jQuery mÀnginud tohutut positiivset rolli kaasaegse veebiarenduse loomisel.
Kui jQuery funktsionaalsus oluliselt ei muutu, on ĂŒsna tĂ”enĂ€oline, et jĂ€rgmise paarikĂŒmne aasta jooksul raamatukogu kasutamine jĂ€tkub aeglaselt, kuid kindlalt vĂ€henema. Uued veebisaidid luuakse tavaliselt algusest peale kaasaegsemate raamistikute abil, ja sobivad jQuery kasutusjuhtumid esinevad jĂ€rjest harvem.
MÔnele ei meeldi veebiarendustööriistade kiire vananemine, kuid minu jaoks on see kiire edusamme mÀrk. jQuery vÔimaldas meil palju paremini teha. Sama kehtib ka tema jÀrgijate kohta.
Allikas: habr.com
