jQuery historia eta ondarea

jQuery historia eta ondarea
jQuery - hau da ezagunena munduan JavaScript liburutegia. Web garapen-komunitateak 2000ko hamarkadaren amaieran sortu zuen, eta, ondorioz, gune, plugin eta markoen ekosistema aberatsa sortu zen jQuery erabiliz.

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 (John Resig) 2005ean sortu zuen liburutegiaren lehen bertsioa, eta 2006an argitaratua-m, BarCampNYC izeneko ekitaldi batean. On jQuery webgune ofiziala egileak idatzi zuen:

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 sizzle.

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 hasierako jQuery iturburu-kode hau eta bilatu jQuery.browser. Hona hemen adibide 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 Gaur egun guneen % 74k jQuery erabiltzen dute.

jQuery garapenaren gaineko kontrola ere formalizatu egin da. 2011n taldea jQuery Board sortu zuen. Eta 2012an jQuery Board jQuery Foundation bihurtu da.

2015ean, jQuery Fundazioa Dojo Fundazioarekin batu zen, JS Fundazioa sortzeko, eta gero Node.js Fundazioarekin bat egin zuen 2019-m sortzeko OpenJS Fundazioa, zeinaren barruan jQuery izan zen "aurrerapen proiektuak. Β»

Egoera aldatzea

Hala ere, azken urteotan jQuery ospea galdu zuen. GitHub liburutegia kendu nuen nire guneko frontendetik. Bootstrap v5 kendu jQueryberea delako"Bezeroaren menpekotasun handiena JavaScript arrunterako"(gaur egun 30 KB-ko tamaina, txikitua eta paketatua). Web garapenean izandako hainbat joerak jQueryren posizioa ezinbesteko tresna gisa ahuldu dute.

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 web estandarrak esparruan Web Hipertestu Aplikazioen Teknologia Lantaldea.
Nahiz eta nabigatzaileak hainbat modu garrantzitsutan ezberdintzen diren arren, saltzaileek gutxienez datu-base komun bat bilatzeko eta sortzeko baliabideak dituzte. gerra iraunkorra elkarrekin. Horren arabera, arakatzaileen APIek gaitasun berriak lortu dituzte. Adibidez, Eskuratu APIa jQuery-tik Ajax funtzioak ordezkatzeko gai da:

// 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 kontsulta-hautatzailea ΠΈ querySelectorAll bikoiztu jQuery hautatzaileak:

// jQuery
const fooDivs = $('.foo div');

// native
const fooDivs = document.querySelectorAll('.foo div');

Elementu klaseak erabiliz manipula ditzakezu orain klase-zerrenda:

// jQuery
$('#warning').toggleClass('visible');

// native
document.querySelector('#warning').classList.toggle('visible');

Gune Beharbada ez duzu jQuery behar Hona hemen jQuery kodea jatorrizko kodearekin ordezka daitekeen beste egoera batzuk. Garatzaile batzuek jQueryrekin jarraitzen dute beti, API berriei buruz ez dakitelako, baina egiten dutenean, liburutegia gutxiago erabiltzen hasten dira.

Jatorrizko eginbideak erabiltzeak orriaren errendimendua hobetzen du. Asko jQuery-ren animazio-efektuak orain inplementatu dezakezu askoz eraginkorragoa CSS erabiliz.

Bigarren arrazoia da arakatzaileak lehen baino askoz azkarrago eguneratzen direla. Gehienek erabiltzen dute Β«OraoiraunkorraΒ» berritzeko estrategia, Apple Safari izan ezik. Atzeko planoan egunera daitezke erabiltzaileak parte hartu gabe eta ez daude sistema eragilearen eguneratzeei lotuta.

Horrek esan nahi du arakatzailearen funtzio berriak eta akatsen konponketak askoz azkarrago banatzen direla eta garatzaileek ez dutela zertan itxaron behar Erabil dezaket maila onargarri batera iritsiko da. Ezaugarri eta API berriak konfiantzaz erabil ditzakete jQuery edo polyfills deskargatu gabe.

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, laguntzeari utziz hamargarren bertsioak eta aurrekoak, IE 11ra laguntza mugatuz. Eta gero eta gehiago, web garatzaileek IE bateragarritasuna alde batera uzteko luxua dute.

Nahiz eta jQuery-k IE 8 eta beherago onartzen utzi zuenetik hasita 2.0. bertsioa, 2013an argitaratua. Eta kasu batzuetan oraindik IE laguntza behar bada ere, adibidez, gune zaharretan, egoera hauek gero eta gutxiagotan sortzen dira.

Esparru berriak

jQuery sortu zenetik, esparru asko sortu dira, lider modernoak barne Erreakzionatzeko, Angeluen ΠΈ ikuspegi. Bi abantaila garrantzitsu dituzte jQueryren aldean.

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. Axios Ajaxentzat edo Animate.css animazioetarako. Hau jQuery guztiak kargatzea baino errazagoa izango da funtzionalitate txiki baterako.

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 aktiboki garatzen, eta garatzaile askok nahiago dute bere APIa erabiltzea, nahiz eta jatorrizko metodoak eskuragarri egon. Liburutegiak garatzaileen belaunaldi oso bati lagundu dio edozein arakatzailetan funtzionatzen duten webguneak sortzen. Liburutegi, marko eta paradigma berriek modu askotan ordezkatu badute ere, jQuery-k paper oso positiboa izan du web modernoaren sorreran.

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

Gehitu iruzkin berria