jQuery -
Baina azken urteotan, web garapenerako tresna nagusi gisa duen egoera hondatu egin da. Ikus dezagun zergatik bihurtu zen jQuery ezaguna eta zergatik pasa zen modan, eta baita zein kasutan komeni den oraindik webgune modernoak sortzeko erabiltzea.
jQueryren historia laburra
John Resig (
jQuery leloan oinarritutako Javascript liburutegia da: Javascript-ek dibertigarria izan behar du kodetzeko. jQuery-k zeregin arruntak eta errepikakorrak hartzen ditu, beharrezkoak ez diren marka guztiak kentzen ditu eta labur, dotore eta garbi bihurtzen ditu.
jQuery-k bi abantaila nagusi ditu. Lehenengoa web orriak manipulatzeko API erosoa da. Bereziki, elementuak hautatzeko metodo indartsuak eskaintzen ditu. ID edo klasearen arabera hautatzeaz gain, jQuery-k adierazpen konplexuak idazteko aukera ematen dizu, adibidez, elementuak beste elementu batzuekin dituzten erlazioen arabera hautatzeko:
// Select every item within the list of people within the contacts element
$('#contacts ul.people li');
Denborarekin, hautaketa mekanismoa liburutegi bereizi bat bihurtu zen
Liburutegiaren bigarren abantaila arakatzaileen arteko desberdintasunak abstraitzen zituela zen. Urte haietan, zaila zen nabigatzaile guztietan modu fidagarrian funtziona zezakeen kodea idaztea.
Estandarizazio ezak esan nahi zuen garatzaileek arakatzaileen eta ertzetako kasuen arteko desberdintasun ugari kontutan hartu behar zutela. Eman begirada bat
// 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);
}
Eta jQueryri esker, garatzaileek hutsune horiei buruzko kezkak liburutegia garatzen duen taldearen sorbaldera eraman ditzakete.
Geroago, jQuery-k teknologia konplexuagoak ezartzea erraztu zuen, hala nola animazioak eta Ajax. Liburutegia webguneen menpekotasun estandar bihurtu da. Eta gaur egun Interneten zati handi bat bultzatzen du. W3Techsek hori uste du
jQuery garapenaren gaineko kontrola ere formalizatu egin da. 2011n taldea
2015ean, jQuery Fundazioa Dojo Fundazioarekin batu zen,
Egoera aldatzea
Hala ere, azken urteotan jQuery
Nabigatzaileak
Hainbat arrazoirengatik, arakatzaileen desberdintasunak eta mugak garrantzi gutxiago dute. Lehenik eta behin, estandarizazioa hobetu da. Arakatzaile nagusiak (Apple, Google, Microsoft eta Mozilla) elkarrekin ari dira garatzen
Nahiz eta nabigatzaileak hainbat modu garrantzitsutan ezberdintzen diren arren, saltzaileek gutxienez datu-base komun bat bilatzeko eta sortzeko baliabideak dituzte.
// 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);
});
metodoak
// jQuery
const fooDivs = $('.foo div');
// native
const fooDivs = document.querySelectorAll('.foo div');
Elementu klaseak erabiliz manipula ditzakezu orain
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');
Gune
Jatorrizko eginbideak erabiltzeak orriaren errendimendua hobetzen du. Asko
Bigarren arrazoia da arakatzaileak lehen baino askoz azkarrago eguneratzen direla. Gehienek erabiltzen dute
Horrek esan nahi du arakatzailearen funtzio berriak eta akatsen konponketak askoz azkarrago banatzen direla eta garatzaileek ez dutela zertan itxaron behar
Hirugarren arrazoia da Internet Explorer erabateko garrantzirik gabeko egoerara hurbiltzen ari dela. IE mundu osoko web garapenaren kaltea da aspalditik. Bere akatsak oso hedatuta zeuden, eta IE 2000ko hamarkadan nagusitu zenez eta betiko eguneratze estrategiarik erabiltzen ez zuenez, bertsio zaharragoak ohikoak dira oraindik.
2016an, Microsoft-ek IE-ren deskarga azkartu zuen,
Nahiz eta jQuery-k IE 8 eta beherago onartzen utzi zuenetik hasita
Esparru berriak
jQuery sortu zenetik, esparru asko sortu dira, lider modernoak barne
Lehenik eta behin, erabiltzailearen interfazea osagaietan banatzea errazten dute. Markoak orrialdeak errendatzea eta eguneratzea kudeatzeko diseinatuta daude. Eta jQuery eguneratzeko soilik erabiltzen da normalean, hasierako orria zerbitzariari utziz.
Bestalde, React, Angular eta Vue osagaiek HTML, kodea eta baita CSS ere ondo lotzeko aukera ematen dute. Kodearen oinarria funtzio eta klase autonomo askotan banatzen dugun bezala, interfazea osagai berrerabilgarrietan banatzeko gaitasunak gune konplexuak eraiki eta mantentzea errazten du.
Bigarren abantaila da esparru berriagoak deklarazio-paradigma bati atxikitzen zaizkiola, non garatzaileak interfazeak nolakoa izan behar duen deskribatzen duen eta esparruari uzten diola nahi dena lortzeko beharrezko aldaketa guztiak egiteko. Ikuspegi hau jQuery kodea bereizten duen ikuspegi inperatiboaren aurkakoa da.
jQuery-n, espresuki idatziko dituzu aldaketak egiteko urratsak. Eta deklarazio-esparru batean: "Datu hauen arabera, interfazeak honelakoa izan beharko luke". Horrek akatsik gabeko kodea idaztea asko erraztu dezake.
Garatzaileek webguneen garapenerako ikuspegi berriak hartu dituzte, eta horregatik jQueryren ospea murriztu da.
Noiz erabili jQuery?
Beraz, noiz beharko lukete jQuery erabili?
Proiektuaren konplexutasuna handitzen bada, hobe da konplexutasuna zentzuz kudeatzeko aukera ematen duen beste liburutegi edo esparru batekin hastea. Adibidez, zatitu interfazea osagaietan. Horrelako guneetan jQuery erabiltzeak itxura ona izan dezake hasiera batean, baina azkar espageti kodea sortuko da, non ziur zein zatik orriaren zein zatiri eragiten dion.
Halako egoera batean egon naiz, edozein aldaketa egiten saiatzean, lan zaila iruditzen zait. Ezin duzu ziurtatu ezer hautsiko ez duzula jQuery hautatzaileak zerbitzariak sortutako HTML egituraren araberakoak direlako.
Eskalaren beste muturrean interaktibitate edo eduki dinamiko pixka bat behar duten gune sinpleak daude. Kasu hauetan ere ez nuke lehenetsiko jQuery, API natiboekin askoz gehiago egin dezakezulako.
Zerbait indartsuagoa behar badut ere, liburutegi espezializatu bat bilatuko dut, adibidez.
Uste dut jQuery erabiltzeko arrazoirik onena webgune baten aurrean funtzionalitate integrala eskaintzen duela. Hainbat jatorrizko API edo liburutegi espezializatuak ikasi beharrean, jQuery-ren dokumentazioa irakur dezakezu eta berehala emankorra izan zaitezke.
Ikuspegi inperatiboa ez da ondo eskalatzen, baina errazagoa da ikasteko beste liburutegien planteamendu deklaratiboa baino. Gaitasun argi eta garbi mugatuak dituen gune baterako, hobe da jQuery erabiltzea eta lasai lan egitea: liburutegiak ez du muntaketa edo konpilazio konplexurik behar.
Gainera, jQuery ona da zure webgunea denborarekin konplikatuko ez dela ziur bazaude, eta jatorrizko funtzionaltasunari axola ez bazaizu, eta horrek, zalantzarik gabe, jQuery-k baino kode gehiago idatzi beharko du.
Liburutegi hau ere erabil dezakezu IEren bertsio zaharragoak onartu behar badituzu. Orduan jQuery-k IE arakatzaile ezagunena zen garaian bezala balioko dizu.
Prospektiba
jQuery ez da laster desagertuko. Bera
jQuery-ren funtzionaltasuna nabarmen aldatzen ez bada behintzat, litekeena da liburutegiaren erabilera poliki-poliki baina etengabe murrizten jarraitzea hurrengo urteetan. Webgune berriak marko modernoagoak erabiliz eraiki ohi dira hasieratik, eta jQueryren erabilera kasu egokiak gero eta arraroagoak dira.
Batzuei ez zaie gustatzen web-garapeneko tresnak zaharkituta geratzen diren abiadura, baina niretzat aurrerapen azkarraren froga da. jQuery-k gauza asko hobeto egiteko aukera eman digu. Gauza bera gertatzen da bere ondorengoekin.
Iturria: www.habr.com