jQuery historia ja perintö

jQuery historia ja perintö
jQuery - tämä on suosituin maailmassa JavaScript-kirjasto. Verkkokehitysyhteisö loi sen 2000-luvun lopulla, mikä johti rikkaaseen ekosysteemiin sivustoja, laajennuksia ja kehyksiä käyttäen jQuerya konepellin alla.

Mutta viime vuosina sen asema verkkokehityksen tärkeimpänä työkaluna on heikentynyt. Katsotaanpa, miksi jQuery tuli suosituksi ja miksi se putosi muodista, ja myös missä tapauksissa sitä kannattaa edelleen käyttää nykyaikaisten verkkosivustojen luomiseen.

jQueryn lyhyt historia

John Resig (John Resig) loi kirjaston ensimmäisen version vuonna 2005 ja julkaistu vuonna 2006-m, BarCampNYC-nimisessä tapahtumassa. Päällä jQuery virallinen verkkosivusto kirjoittaja kirjoitti:

jQuery on Javascript-kirjasto, joka perustuu mottoon: Javascriptin tulee olla hauskaa koodata. jQuery ottaa yleisiä, toistuvia tehtäviä, poistaa kaikki tarpeettomat merkinnät ja tekee niistä lyhyitä, tyylikkäitä ja selkeitä.

jQuerylla on kaksi tärkeintä etua. Ensimmäinen on kätevä API web-sivujen manipulointiin. Erityisesti se tarjoaa tehokkaita menetelmiä elementtien valintaan. Voit valita tunnuksen tai luokan perusteella, mutta jQuery antaa sinun kirjoittaa monimutkaisia ​​lausekkeita esimerkiksi valitaksesi elementtejä niiden suhteiden perusteella muihin elementteihin:

// Select every item within the list of people within the contacts element
$('#contacts ul.people li');

Ajan myötä valintamekanismista tuli erillinen kirjasto Hellepäivä.

Kirjaston toinen etu oli se, että se tiivisti selainten väliset erot. Noina vuosina oli vaikea kirjoittaa koodia, joka toimisi luotettavasti kaikissa selaimissa.

Standardoinnin puute merkitsi sitä, että kehittäjien piti ottaa huomioon lukuisia eroja selainten ja reunatapausten välillä. Katso tämä varhainen jQuery-lähdekoodi ja etsi jQuery.browser. Tässä yksi esimerkki:

// 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 jQueryn ansiosta kehittäjät voivat siirtää huolet kaikista näistä sudenkuopat kirjastoa kehittävän tiimin harteille.

Myöhemmin jQuery helpotti monimutkaisempien teknologioiden, kuten animaatioiden ja Ajaxin, käyttöönottoa. Kirjastosta on käytännössä tullut verkkosivustojen vakioriippuvuus. Ja nykyään se hallitsee valtavaa osaa Internetistä. W3Techs uskoo siihen Nykyään 74 % sivustoista käyttää jQueryä.

Myös jQuery-kehityksen hallinta on tullut virallisemmaksi. Vuonna 2011 joukkue loi jQuery Boardin. Ja vuonna 2012 jQuery Board muutettiin jQuery Foundationiksi.

Vuonna 2015 jQuery Foundation sulautui Dojo Foundationiin, luoda JS Foundation, joka sitten yhdistettiin Node.js Foundationiin 2019-m luoda OpenJS-säätiö, jossa jQuery oli yksi "läpimurtoprojekteja. »

Muuttuvat olosuhteet

Kuitenkin viime vuosina jQuery menettänyt suosionsa. GitHub poisti kirjaston sivustoni käyttöliittymästä. Bootstrap v5 päästä eroon jQuerystakoska se on hänen"suurin asiakasriippuvuus tavalliselle JavaScriptille"(tällä hetkellä kooltaan 30 kt, pienennetty ja pakattu). Useat verkkokehityksen trendit ovat heikentäneet jQueryn asemaa olennaisena työkaluna.

Браузеры

Useista syistä selaineroista ja rajoituksista on tullut vähemmän tärkeitä. Ensinnäkin standardointi on parantunut. Tärkeimmät selainkehittäjät (Apple, Google, Microsoft ja Mozilla) työskentelevät yhdessä kehittääkseen verkkostandardeja puitteissa Web Hypertext Application Technology -työryhmä.
Vaikka selaimet eroavat edelleen toisistaan ​​monella tärkeällä tavalla, myyjillä on ainakin keinot etsiä ja luoda yhteinen tietokanta sen sijaan, että pysyvä sota yhdessä. Näin ollen selainsovellusliittymät ovat saaneet uusia ominaisuuksia. Esim, Nouda API pystyy korvaamaan Ajax-toiminnot jQuerysta:

// 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);
    });

menetelmät querySelector и querySelectorAll päällekkäiset jQuery-valitsimet:

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

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

Voit nyt käsitellä elementtiluokkia käyttämällä luokkaluettelo:

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

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

Sivusto Et ehkä tarvitse jQueryä Tässä on muutamia muita tilanteita, joissa jQuery-koodi voidaan korvata alkuperäisellä koodilla. Jotkut kehittäjät pitävät aina kiinni jQuerysta, koska he eivät yksinkertaisesti tiedä uusista sovellusliittymistä, mutta kun he tietävät, he alkavat käyttää kirjastoa harvemmin.

Natiiviominaisuuksien käyttö parantaa sivun suorituskykyä. monet jQueryn animaatiotehosteet nyt voit toteuttaa paljon tehokkaampi CSS:n avulla.

Toinen syy on se, että selaimet päivitetään paljon nopeammin kuin ennen. Suurin osa heistä käyttää "ikivihreä" uudistumisstrategia, paitsi Apple Safari. Ne voidaan päivittää taustalla ilman käyttäjän osallistumista, eivätkä ne ole sidottu käyttöjärjestelmän päivityksiin.

Tämä tarkoittaa, että uudet selainominaisuudet ja virheenkorjaukset jaetaan paljon nopeammin, eikä kehittäjien tarvitse odottaa, kunnes Voinko käyttää saavuttaa hyväksyttävän tason. He voivat käyttää uusia ominaisuuksia ja API-liittymiä luottavaisesti lataamatta jQueryä tai polyfills-tiedostoja.

Kolmas syy on se, että Internet Explorer lähestyy täysin epäolennaista tilaa. IE on pitkään ollut web-kehityksen haitta kaikkialla maailmassa. Sen virheet olivat laajalle levinneitä, ja koska IE hallitsi 2000-lukua eikä käyttänyt ikivihreää päivitysstrategiaa, vanhemmat versiot ovat edelleen yleisiä.

Vuonna 2016 Microsoft vauhditti IE:n purkamista, lakkaa tukemasta kymmenes ja aiemmat versiot, rajoittaen tuen IE 11:een. Ja yhä useammin verkkokehittäjillä on ylellisyys jättää huomiotta IE-yhteensopivuus.

Jopa jQuery lakkasi tukemasta IE 8:aa ja sitä vanhempia versioita alkaen versio 2.0, julkaistu vuonna 2013. Ja vaikka joissain tapauksissa tarvitaan edelleen IE-tukea, esimerkiksi vanhemmilla sivustoilla, näitä tilanteita tulee harvemmin.

Uudet puitteet

JQueryn tulon jälkeen on luotu monia kehyksiä, mukaan lukien nykyaikaiset johtajat suhtautua, Kulma- и Näkymä. Niillä on kaksi tärkeää etua jQueryyn verrattuna.

Ensinnäkin ne helpottavat käyttöliittymän erottamista osiin. Kehykset on suunniteltu käsittelemään sivujen renderöintiä ja päivitystä. Ja jQuerya käytetään yleensä vain päivittämiseen, jolloin tehtävänä on toimittaa aloitussivu palvelimelle.

Toisaalta React-, Angular- ja Vue-komponentit mahdollistavat HTML:n, koodin ja jopa CSS:n tiiviin yhdistämisen. Aivan kuten jaamme koodipohjan moniin itsenäisiin toimintoihin ja luokkiin, kyky jakaa käyttöliittymä uudelleenkäytettäviin komponentteihin helpottaa monimutkaisten sivustojen rakentamista ja ylläpitoa.

Toinen etu on, että uudemmat puitteet noudattavat deklaratiivista paradigmaa, jossa kehittäjä kuvailee, miltä käyttöliittymän tulee näyttää ja jättää viitekehyksen tehtäväksi tehdä kaikki tarvittavat muutokset halutun saavuttamiseksi. Tämä lähestymistapa on vastoin jQuery-koodille ominaista välttämätöntä lähestymistapaa.

jQueryssä kirjoitat nimenomaisesti muistiin vaiheet, joiden avulla voit tehdä muutoksia. Ja deklaratiivisessa kehyksessä sanot: "Näiden tietojen mukaan käyttöliittymän pitäisi näyttää tältä." Tämä voi tehdä virheettömän koodin kirjoittamisesta paljon helpompaa.

Kehittäjät ovat omaksuneet uusia lähestymistapoja verkkosivustojen kehittämiseen, minkä vuoksi jQueryn suosio on laskenut.

Milloin käyttää jQueryä?

Joten kun on oltava käytä jQueryä?

Jos projektin monimutkaisuus lisääntyy, on parempi aloittaa toisesta kirjastosta tai viitekehyksestä, jonka avulla voit hallita monimutkaisuutta mielekkäästi. Jaa käyttöliittymä esimerkiksi osiin. jQueryn käyttäminen tällaisilla sivustoilla saattaa aluksi näyttää hyvältä, mutta se johtaa nopeasti spagettikoodiin, jossa et ole varma, mikä fragmentti vaikuttaa mihinkin sivun osaan.

Olen ollut sellaisessa tilanteessa, että kun yritän tehdä mitään muutosta, se tuntuu vaikealta tehtävältä. Et voi olla varma, ettet riko mitään, koska jQuery-valitsimet riippuvat palvelimen luomasta HTML-rakenteesta.

Asteikon toisessa päässä ovat yksinkertaiset sivustot, jotka vaativat vain vähän interaktiivisuutta tai dynaamista sisältöä. En myöskään käyttäisi oletuksena jQueryä näissä tapauksissa, koska natiivisovellusliittymien avulla voit tehdä paljon enemmän.

Vaikka tarvitsisin jotain tehokkaampaa, etsin erikoiskirjaston, esim. Axios Ajaxille tai Animate.css animaatioita varten. Tämä on helpompaa kuin kaiken jQueryn lataaminen pientä toimintoa varten.

Mielestäni paras peruste jQueryn käytölle on se, että se tarjoaa kattavat toiminnot verkkosivuston käyttöliittymään. Sen sijaan, että opettelisit erilaisia ​​natiivisovellusliittymiä tai erikoiskirjastoja, voit lukea vain jQuery-dokumentaatiota ja tulla välittömästi tuottavaksi.

Pakollinen lähestymistapa ei skaalaudu hyvin, mutta se on helpompi oppia kuin muiden kirjastojen deklaratiivinen lähestymistapa. Sivustolle, jolla on selvästi rajalliset ominaisuudet, on parempi käyttää jQueryä ja työskennellä rauhallisesti: kirjasto ei vaadi monimutkaista kokoamista tai kääntämistä.

Lisäksi jQuery on hyvä, jos olet varma, että sivustosi ei muutu monimutkaiseksi ajan myötä, etkä välitä alkuperäisistä toiminnoista, jotka vaativat varmasti enemmän koodin kirjoittamista kuin jQuery.

Voit myös käyttää tätä kirjastoa, jos tarvitset vanhempia IE-versioita. Silloin jQuery palvelee sinua samalla tavalla kuin silloin, kun IE oli suosituin selain.

etsintään

jQuery ei katoa pian. Hän kehittyy aktiivisesti, ja monet kehittäjät käyttävät mieluummin sen API:ta, vaikka alkuperäiset menetelmät olisivat käytettävissä. Kirjasto on auttanut koko sukupolvea kehittäjiä luomaan verkkosivustoja, jotka toimivat kaikilla selaimilla. Vaikka jQuery on monin tavoin korvattu uusilla kirjastoilla, kehyksillä ja paradigmoilla, jQuerylla on ollut erittäin myönteinen rooli nykyaikaisen verkon luomisessa.

Ellei jQueryn toiminnallisuus muutu merkittävästi, on todennäköistä, että kirjaston käyttö vähenee hitaasti mutta tasaisesti seuraavien muutaman vuoden aikana. Uudet verkkosivustot rakennetaan yleensä alusta alkaen nykyaikaisemmilla kehyksillä, ja jQuerylle sopivat käyttötapaukset ovat yhä harvinaisempia.

Jotkut ihmiset eivät pidä verkkokehitystyökalujen vanhentumisnopeudesta, mutta minulle se on todiste nopeasta edistymisestä. jQuery on antanut meille mahdollisuuden tehdä monia asioita paremmin. Sama koskee hänen seuraajiaan.

Lähde: will.com

Lisää kommentti