jQuery -
Kuid viimastel aastatel on selle staatus veebiarenduse peamise tööriistana vähenenud. Vaatame, miks jQuery populaarseks sai ja miks see moest välja langes ning ka seda, millistel juhtudel on seda siiski soovitav kasutada kaasaegsete veebilehtede loomiseks.
JQuery lühike ajalugu
John Resig (
jQuery on Javascripti teek, mis põhineb motol: Javascripti kodeerimine peaks olema lõbus. jQuery võtab tavalised korduvad toimingud, eemaldab kõik mittevajalikud märgised ning muudab need lühikeseks, elegantseks ja puhtaks.
jQueryl on kaks peamist eelist. Esimene on mugav API veebilehtedega manipuleerimiseks. Eelkõige pakub see võimsaid meetodeid elementide valimiseks. Saate valida mitte ainult ID või klassi järgi, vaid jQuery võimaldab teil kirjutada keerulisi avaldisi, näiteks valida elemente nende suhete alusel teiste elementidega:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Aja jooksul arenes valikumehhanism eraldi raamatukoguks
Teegi teine eelis oli see, et see abstraheeris brauserite erinevusi. Neil aastatel oli raske kirjutada koodi, mis töötaks usaldusväärselt kõigis brauserites.
Standardi puudumine tähendas, et arendajad pidid arvestama arvukate erinevustega brauserite ja servajuhtumite vahel. Heida pilk peale
// 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 tänu jQueryle võivad arendajad kõigi nende lõksude pärast mured panna raamatukogu arendava meeskonna õlgadele.
Hiljem tegi jQuery lihtsamaks keerukamate tehnoloogiate, nagu animatsioonid ja Ajax, juurutamise. Raamatukogust on tegelikult saanud veebisaitide standardne sõltuvus. Ja tänapäeval annab see tohutu osa Internetist. W3Techs usub seda
Kontroll jQuery arenduse üle on muutunud ka ametlikumaks. Aastal 2011 meeskond
2015. aastal ühines jQuery Foundation Dojo Foundationiga,
Olude muutumine
Kuid viimastel aastatel jQuery
Brauserid
Mitmel põhjusel on brauseri erinevused ja piirangud muutunud vähem oluliseks. Esiteks on standardimine paranenud. Suuremad brauserite arendajad (Apple, Google, Microsoft ja Mozilla) teevad arendamiseks koostööd
Kuigi brauserid erinevad üksteisest mitmel olulisel moel, on müüjatel vähemalt võimalus otsida ja luua ühine andmebaas.
// 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
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Nüüd saate elemendiklassidega manipuleerida, kasutades
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Site
Omafunktsioonide kasutamine võib lehe jõudlust parandada. Palju
Teine põhjus on see, et brausereid uuendatakse palju kiiremini kui varem. Enamik neist kasutab
See tähendab, et uued brauseri funktsioonid ja veaparandused levitatakse palju kiiremini ning arendajad ei pea ootama, kuni
Kolmas põhjus on see, et Internet Explorer on lähenemas täieliku ebaolulisuse seisundile. IE on juba pikka aega olnud kogu maailmas veebiarenduse nuhtlus. Selle vead olid laialt levinud ja kuna IE domineeris 2000. aastatel ega kasutanud igihaljast värskendusstrateegiat, on vanemad versioonid endiselt levinud.
2016. aastal kiirendas Microsoft IE dekomisjoneerimist,
Isegi jQuery lõpetas IE 8 ja vanemate toetamise alates aastast
Uued raamistikud
Alates jQuery tulekust on loodud palju raamistikke, sealhulgas kaasaegseid juhte
Esiteks muudavad need kasutajaliidese komponentideks eraldamise lihtsaks. Raamistikud on loodud lehtede renderdamiseks ja värskendamiseks. Ja jQueryt kasutatakse tavaliselt ainult värskendamiseks, jättes alglehe pakkumise serverile.
Teisest küljest võimaldavad React, Angular ja Vue komponendid HTML-i, koodi ja isegi CSS-i tihedalt siduda. Nii nagu jagame koodibaasi paljudeks iseseisvateks funktsioonideks ja klassideks, muudab liidese korduvkasutatavateks komponentideks jagamise võimalus lihtsamaks keerukate saitide loomise ja hooldamise.
Teiseks eeliseks on see, et uuemad raamistikud järgivad deklaratiivset paradigmat, mille puhul arendaja kirjeldab, milline peaks liides välja nägema ja jätab raamistiku hooleks kõik vajalikud muudatused, et soovitud saavutada. See lähenemine on vastuolus jQuery koodile iseloomuliku imperatiivse lähenemisviisiga.
JQuerys kirjutate muudatuste tegemiseks toimingud selgesõnaliselt üles. Ja deklaratiivses raamistikus ütlete: "Nende andmete kohaselt peaks liides välja nägema selline." See muudab veavaba koodi kirjutamise palju lihtsamaks.
Arendajad on võtnud kasutusele uued lähenemisviisid veebisaitide arendamiseks, mistõttu on jQuery populaarsus langenud.
Millal jQueryt kasutada?
Nii et millal peab olema kasutada jQueryt?
Kui projekti keerukus suureneb, siis on parem alustada mõnest muust raamatukogust või raamistikust, mis võimaldab keerukust mõtestatult juhtida. Näiteks jagage liides komponentideks. jQuery kasutamine sellistel saitidel võib esmapilgul hea tunduda, kuid see viib kiiresti spagettikoodini, kus te pole kindel, milline fragment millist lehe osa mõjutab.
Olen olnud sellises olukorras, kui üritan mingit muudatust teha, tundub see raske ülesandena. Te ei saa olla kindel, et te midagi ei riku, sest jQuery valijad sõltuvad serveri loodud HTML-i struktuurist.
Skaala teises otsas on lihtsad saidid, mis nõuavad vaid natuke interaktiivsust või dünaamilist sisu. Ka nendel juhtudel ei kasutaks ma vaikimisi jQueryt, sest natiivsete API-dega saate teha palju rohkem.
Isegi kui mul on vaja midagi võimsamat, siis otsin spetsiaalse raamatukogu, nt.
Arvan, et jQuery kasutamise parim põhjus on see, et see pakub veebisaidi esiotsa jaoks kõikehõlmavat funktsionaalsust. Erinevate natiivsete API-de või spetsiaalsete teekide õppimise asemel saate lugeda ainult jQuery dokumentatsiooni ja muutuda koheselt tootlikuks.
Imperatiivne lähenemine ei mastaap hästi, kuid seda on lihtsam õppida kui teiste raamatukogude deklaratiivset lähenemist. Selgelt piiratud võimalustega saidi jaoks on parem kasutada jQueryt ja töötada rahulikult: teek ei vaja keerulist kokkupanekut ega kompileerimist.
Lisaks on jQuery hea, kui olete kindel, et teie sait ei muutu aja jooksul keeruliseks, ja kui te ei hooli oma funktsioonidest, mis nõuab kindlasti rohkem koodi kirjutamist kui jQuery.
Seda teeki saate kasutada ka siis, kui teil on vaja IE vanemaid versioone toetada. Siis teenindab jQuery teid nagu omal ajal, kui IE oli kõige populaarsem brauser.
Väljavaated
jQuery ei kao niipea. Ta
Kui jQuery funktsionaalsus oluliselt ei muutu, on tõenäoline, et teegi kasutus väheneb järgmistel aastatel aeglaselt, kuid pidevalt. Uute veebisaitide loomisel kasutatakse algusest peale kaasaegsemaid raamistikke ja jQuery jaoks sobivad kasutusjuhud muutuvad üha harvemaks.
Mõnele inimesele ei meeldi veebiarendustööriistade aegumise kiirus, kuid minu jaoks on see tõend kiirest arengust. jQuery on võimaldanud meil palju asju paremini teha. Sama kehtib ka tema järeltulijate kohta.
Allikas: www.habr.com