jQuery -
En á undanförnum árum hefur staða þess sem fyrsta tól fyrir vefþróun veðrast. Við skulum skoða hvers vegna jQuery varð vinsælt og hvers vegna það féll úr tísku, og einnig í hvaða tilvikum er enn ráðlegt að nota það til að búa til nútíma vefsíður.
Stutt saga jQuery
John Resig (
jQuery er Javascript bókasafn byggt á kjörorðinu: Javascript ætti að vera gaman að kóða. jQuery tekur algeng, endurtekin verkefni, fjarlægir alla óþarfa álagningu og gerir þau stutt, glæsileg og hrein.
jQuery hefur tvo megin kosti. Hið fyrra er þægilegt API til að vinna með vefsíður. Sérstaklega veitir það öflugar aðferðir til að velja þætti. Ekki aðeins er hægt að velja eftir auðkenni eða flokki, jQuery gerir þér kleift að skrifa flóknar tjáningar, til dæmis til að velja þætti byggt á tengslum þeirra við aðra þætti:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Með tímanum varð valkerfið sérstakt bókasafn
Annar kostur bókasafnsins var að það dró út mismun milli vafra. Á þessum árum var erfitt að skrifa kóða sem gat virkað á áreiðanlegan hátt í öllum vöfrum.
Skortur á stöðlun þýddi að forritarar þurftu að gera grein fyrir fjölmörgum mismun á vöfrum og jaðartilfellum. Sjáðu
// 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);
}
Og þökk sé jQuery gátu verktaki fært áhyggjurnar af öllum þessum gildrum yfir á herðar teymisins sem þróar bókasafnið.
Síðar gerði jQuery það auðveldara að innleiða flóknari tækni eins og hreyfimyndir og Ajax. Bókasafnið hefur í raun orðið staðlað háð vefsíðna. Og í dag knýr það stóran hluta internetsins. W3Techs trúir því
Stjórn á jQuery þróun hefur einnig orðið formlegri. Árið 2011 liðið
Árið 2015 sameinaðist jQuery Foundation Dojo Foundation,
Breyttar aðstæður
Hins vegar á undanförnum árum jQuery
Браузеры
Af ýmsum ástæðum hefur munur á vafra og takmarkanir orðið minna mikilvægur. Í fyrsta lagi hefur stöðlun batnað. Helstu vafraframleiðendur (Apple, Google, Microsoft og Mozilla) vinna saman að þróun
Þrátt fyrir að vafrar séu enn ólíkir hver öðrum á marga mikilvæga vegu, hafa söluaðilar að minnsta kosti leið til að leita og búa til sameiginlegan gagnagrunn í stað þess að
// 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);
});
Aðferðir
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Þú getur nú stjórnað frumefnaflokkum með því að nota
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Síða
Notkun innfæddra eiginleika bætir árangur síðunnar. Margir
Önnur ástæðan er sú að vafrar eru uppfærðir mun hraðar en áður. Flestir þeirra nota
Þetta þýðir að nýjum vafraeiginleikum og villuleiðréttingum er dreift mun hraðar og verktaki þarf ekki að bíða þangað til
Þriðja ástæðan er sú að Internet Explorer er að nálgast algjört óviðkomandi ástand. IE hefur lengi verið bann við þróun vefs um allan heim. Villur þess voru útbreiddar og vegna þess að IE var allsráðandi á 2000 og notaði ekki sígræna uppfærslustefnu, eru eldri útgáfur enn algengar.
Árið 2016 flýtti Microsoft fyrir afnámi IE,
Jafnvel jQuery hætti að styðja IE 8 og neðar frá og með
Ný umgjörð
Síðan jQuery kom til sögunnar hafa margir rammar verið búnir til, þar á meðal nútímaleiðtogar
Í fyrsta lagi gera þeir það auðvelt að aðgreina notendaviðmótið í íhluti. Rammar eru hannaðir til að takast á við flutning og uppfærslu síðu. Og jQuery er venjulega aðeins notað til að uppfæra, sem skilur eftir það verkefni að útvega upphafssíðuna til netþjónsins.
Aftur á móti gera React, Angular og Vue hlutir þér kleift að tengja HTML, kóða og jafnvel CSS þétt saman. Rétt eins og við skiptum kóðagrunninum í margar sjálfstæðar aðgerðir og flokka, gerir hæfileikinn til að skipta viðmótinu í endurnýtanlega hluti það auðveldara að byggja og viðhalda flóknum vefsvæðum.
Annar kosturinn er sá að nýrri rammar fylgja yfirlýsandi hugmyndafræði, þar sem verktaki lýsir hvernig viðmótið ætti að líta út og lætur ramma um að gera allar nauðsynlegar breytingar til að ná því sem óskað er. Þessi nálgun er andstæð þeirri brýnustu nálgun sem einkennir jQuery kóða.
Í jQuery skrifar þú skýrt niður skrefin til að gera allar breytingar. Og í yfirlýsingarramma segirðu: "Samkvæmt þessum gögnum ætti viðmótið að líta svona út." Þetta getur gert ritun villulausan kóða miklu auðveldara.
Hönnuðir hafa tekið upp nýjar aðferðir við þróun vefsíðna og þess vegna hafa vinsældir jQuery minnkað.
Hvenær á að nota jQuery?
Svo hvenær ætti nota jQuery?
Ef flókið verkefni eykst, þá er betra að byrja á öðru bókasafni eða ramma sem gerir þér kleift að stjórna flækjustiginu á marktækan hátt. Skiptu til dæmis viðmótinu í íhluti. Notkun jQuery á slíkum síðum gæti litið vel út í fyrstu, en það mun fljótt leiða til spaghettí kóða þar sem þú ert ekki viss um hvaða brot hefur áhrif á hvaða hluta síðunnar.
Ég hef verið í slíkri stöðu, þegar reynt er að gera einhverjar breytingar, þá finnst mér það vera erfitt verkefni. Þú getur ekki verið viss um að þú brjótir ekki neitt vegna þess að jQuery valarnir eru háðir HTML uppbyggingunni sem þjónninn býr til.
Á hinum enda skalans eru einfaldar síður sem þurfa aðeins smá gagnvirkni eða kraftmikið efni. Ég myndi ekki nota jQuery sjálfgefið í þessum tilvikum heldur, því það er svo miklu meira sem þú getur gert með innfæddum API.
Þó mig vanti eitthvað öflugra mun ég leita að sérhæfðu bókasafni, t.d.
Ég held að besta rökin fyrir því að nota jQuery sé að það veitir alhliða virkni fyrir framenda vefsíðunnar. Í stað þess að læra margvísleg innfædd API eða sérhæfð bókasöfn geturðu lesið bara jQuery skjölin og orðið strax afkastamikill.
Ómissandi nálgunin mælist ekki vel, en hún er auðveldari að læra en yfirlýsandi nálgun annarra bókasöfna. Fyrir síðu með greinilega takmarkaða getu er betra að nota jQuery og vinna rólega: bókasafnið þarf ekki flókna samsetningu eða samantekt.
Að auki er jQuery gott ef þú ert viss um að vefsíðan þín muni ekki verða flókin með tímanum og ef þér er sama um innfædda virkni, sem mun örugglega krefjast þess að skrifa meiri kóða en jQuery.
Þú getur líka notað þetta bókasafn ef þú þarft að styðja eldri útgáfur af IE. Þá mun jQuery þjóna þér eins og það gerði á þeim dögum þegar IE var vinsælasti vafrinn.
Prospection
jQuery hverfur ekki í bráð. Hún
Nema virkni jQuery breytist verulega, er líklegt að notkun á bókasafninu muni halda áfram að minnka hægt en stöðugt á næstu árum. Nýjar vefsíður hafa tilhneigingu til að vera byggðar með nútímalegri ramma frá upphafi og viðeigandi notkunartilvik fyrir jQuery verða sífellt sjaldgæfari.
Sumum líkar ekki hversu hratt vefþróunarverkfæri verða úrelt, en fyrir mér er það vísbending um hraðar framfarir. jQuery hefur gert okkur kleift að gera margt betur. Það sama á við um eftirmenn hennar.
Heimild: www.habr.com