jQuery ajalugu ja pÀrand

jQuery ajalugu ja pÀrand
jQuery — see on ĂŒks populaarsemaid JavaScripti teeke maailmas. Veebiarendajate kogukond lĂ”i selle 2000. aastate alguses, mis viis rikkaliku ökosĂŒsteemi loomisele, mis kasutab jQuery't oma tagakĂŒljel, sealhulgas saite, pluginaid ja raamistikke.

Kuid viimastel aastatel on selle staatuse peamise tööriistana veebiarenduses kÔikumine. Vaatame, miks jQuery sai populaarseks ja miks see on moest vÀlja löönud ning millistel juhtudel on selle kasutamine kaasaegsete veebisaitide loomisel endiselt mÔistlik.

jQuery Đ»ĂŒhiajalugu

John Resig (John Resig) lĂ”i esimese versiooni teegist 2005. aastal ja avalikustas selle 2006.BarCampNYC nime kandnud ĂŒritusel. jQuery ametlikul veebisaidil autor kirjutas: jQuery on JavaScripti teek, selle aluspĂ”himĂ”te on: JavaScripti programmeerimine peab olema nauditav. jQuery vĂ”tab sagedased, korduvad ĂŒlesanded, eemaldab kogu mittevajaliku mĂ€rgistus ja muudab need lĂŒhikeseks, elegantseks ja arusaadavaks.

jQuery-l on kaks peamist eelist. Esiteks on see mugav API veebilehtede manipuleerimiseks. EelkÔige pakub see vÔimsaid meetodeid elementide valimiseks. Valida saab mitte ainult ID vÔi klasside jÀrgi, jQuery vÔimaldab kirjutada keerulisi vÀljendeid, nÀiteks, et valida elemente, mis pÔhinevad nende suhetele teiste elementidega:

Aja jooksul muutus valimismehhanism eraldi teegiks

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

Sizzle Teise teegi vÀÀrtusena oli see, et see abstraktseeris erinevused brauserite vahel. Neil aegadel oli keeruline kirjutada koodi, mis suutis usaldusvÀÀrselt töötada kÔikides brauserites..

Standardeerimise puudumine tÀhendas, et arendajad pidid arvestama arvukate erinevustega brauserite vahel ja piirjuhtidena. Vaadake

seda varajast jQuery lĂ€htekoodi ja otsige jQuery.browser'i. Siin on ĂŒks nĂ€ide: Ja jQuery toel said arendajad kanda mured nende allakĂ€ikude ĂŒle teegi arendusmeeskonna Ă”lgadele.

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

Hiljem lihtsustas jQuery keerukamate tehnoloogiate, nagu animatsioonide ja Ajaxi, rakendamist. Teek muutus sisuliselt veebisaitide sÔltuvuseks. Ja tÀna toetab see olulist osa internetist. W3Techsi andmetel arvavad

et 74% veebilehtedest kasutavad tÀna jQuery't. jQuery arengu kontroll muutus ka vormilisemaks. 2011. aastal lÔi meeskond.

jQuery Board. Ja 2012. aastal muutus jQuery BoardjQuery Foundation'iks. ĐżŃ€Đ”ĐŸĐ±Ń€Đ°Đ·ĐžĐ»Đ°ŃŃŒ ĐČ jQuery Foundation.

2015. aastal liitus jQuery Foundation Dojo Foundationiga, et luua JS Foundation, mis hiljem ĂŒhines Node.js Foundationiga 2019–s, et luua OpenJS Foundation, mille raames oli jQuery ĂŒks «edukatest projektidest.»

Muutuvad olud

Siiski on jQuery viimasel ajal oma populaarsust kaotanud. GitHub eemaldas raamatukogu oma saidi frontendist. Bootstrap v5 vabanevad jQueryst, sest see on nende «suurim kliendi sÔltuvus tavalisele JavaScriptele» (hetkel suurusega 30 KB, minifitseeritud ja pakendatud). Mitmed veebiarenduse suundumused on nÔrgestanud jQuery vajadust kui olulist tööriista.

Brauserid

Mitmetel pÔhjustel on brauserite erinevused ja piirangud muutunud vÀhem oluliseks. Esiteks, standardiseerimine on paranenud. Peamised brauseriarendajad (Apple, Google, Microsoft ja Mozilla) töötavad koos veebistandardite kallal Apache Traffic Control Web Hypertext Application Technology Working Group.
Kuigi brauserid erinevad endiselt mitmes olulises punktis, on valmistajatel nĂŒĂŒd vĂ”imalus leida ja luua ĂŒhine alus ilma pĂŒsiva sĂ”da omavahel. JĂ€relikult on brauseri API-d saanud uusi vĂ”imalusi. NĂ€iteks Fetch API suudab asendada jQuery Ajax-funktsioone:

// 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 querySelector ja querySelectorAll duplitseerivad jQuery valikuvahendeid:

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

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

Elemendi klasside muutmiseks saab nĂŒĂŒd kasutada classList:

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

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

Meie veebisaidil Sa vÔid-olla ei vaja jQueryt on loetletud veel mÔned olukorrad, kus jQuery koodi saab asendada kohandatud koodiga. MÔned arendajad jÀÀvad alati jQuery juurde, sest nad lihtsalt ei tea uutest API-dest, kuid kui nad teavad, hakkavad nad seda raamatukogu harvemini kasutama.

Kohandatud vĂ”imaluste kasutamine vĂ”imaldab lehtede jĂ”udlust parandada. Paljusid jQuery animatsiooniefekte saab nĂŒĂŒd rakendada oluliselt efektiivsemalt CSS-i abil.

Teine pĂ”hjus on see, et brauserid uuenevad palju kiiremini kui kunagi varem. Enamikus neist on rakendatud «igihaljas» vĂ€rskendamisstrateegia, vĂ€lja arvatud Apple Safari. Need saavad uuendada taustal ilma kasutaja kaasamiseta ja ei ole seotud operatsioonisĂŒsteemi vĂ€rskendustega.

See tĂ€hendab, et uued brauserivĂ”imalused ja vigade parandused levivad palju kiiremini ja arendajad ei pea ootama, kuni Can I Use saab aktsepteeritavale tasemele. Nad saavad julgesti kasutada uusi funktsioone ja API-sid ilma jQuery vĂ”i polĂŒfillideta.

Kolmas pÔhjus on see, et Internet Explorer lÀheneb tÀieliku aegunemise seisundile. IE on juba ammu olnud veebiarenduse nuhtlus kogu maailmas. Sellele iseloomulikud vead on laialdaselt levinud ja kuna IE valitses 2000. aastatel ja ei kasutanud "igavest roheline" uuendamisstrateegiat, on selle vanad versioonid ikka veel sageli esindatud.

2016. aastal kiirendas Microsoft IE kĂ”rvaldamist, lĂ”petades toe kĂŒmnendale ja varasematele versioonidele, piirdudes IE 11 toe pakkumisega. Üha sagedamini saavad veebiarendajad endale lubada luksust IE-ga ĂŒhilduvuse tĂ€helepanuta jĂ€tmist.

Isegi jQuery lÔpetas IE 8 ja varasemate versioonide toe alates versioonist 2.0, mis ilmus 2013. aastal. Ja kuigi mÔnes olukorras on IE toe vajadus, nÀiteks vanade saitide puhul, esinevad need olukorrad jÀrjest harvemini.

Uued raamistikud

On loodud palju raamistikku alates jQuery-st, sealhulgas kaasaegseid liidreid React, Angular ja projekt, mis kasutab. Nendel on jQuery ees kaks olulist eelist.

Esitex, nad vĂ”imaldavad lihtsalt jagada kasutajaliidese komponente. Raamistikke on kavandatud lehe renderdamiseks ja vĂ€rskendamiseks. Jquery-d kasutatakse tavaliselt ainult vĂ€rskendamiseks, jĂ€ttes serveri ĂŒlesande algse lehe pakkumiseks.

Teiselt poolt, Reacti, Angulari ja Vue komponentide abil saab tihedalt siduda HTML-i, koodi ja isegi CSS-i. Nii nagu me jagame koodibaasi paljudeks iseseisvateks funktsioonideks ja klassideks, lihtsustab ka vĂ”imalus jaotada liides ĂŒmberkasutatavateks komponentideks keeruliste saitide loomist ja hooldamist.

Teiseks eeliseks on see, et uuemad raamistikud jÀrgivad deklaratiivset paradigma, mille raames arendaja kirjeldab, milline peab liides vÀlja nÀgema, samas kui kÔik vajalikud muudatused soovitud tulemuse saavutamiseks on raamistikule usaldatud. See lÀhenemine on vastupidine imperatiivsele lÀhenemisele, mis on iseloomulik jQuery koodile.

jQuery-s tĂ€psustate te sammud, et teha mingeid muudatusi. Deklaratiivses raamistikus ĂŒtlete: "Selle teabe pĂ”hjal peab liides vĂ€lja nĂ€gema nii." See vĂ”ib koodi kirjutamise oluliselt lihtsustada, et vĂ€ltida vigu.

Arendajad on omaks vÔtnud uued lÀhenemisviisid veebisaitide arendamisel, mis on vÀhendanud jQuery populaarsust.

Millal kasutada jQuery-d?

Nii et millal tuleks pÀrast kasutada jQuery?

Kui projekti keerukus suureneb, on mÔistlik alustada teise teegi vÔi raamistikuga, mis vÔimaldab keerukust mÔtestatult hallata. NÀiteks jagada liidese komponente. jQuery kasutamine sellistes saitides alguses vÔib tunduda aktsepteeritav, kuid see viib kiiresti spagetti-koodi tekkeni, kui te ei ole kindel, milline fragment mÔjutab mingit lehe osa.

Olen sellises situatsioonis olnud, kus iga muudatuse tegemine tekitab raske ĂŒlesande tunde. Ei ole kindel, et midagi ei riku, kuna jQuery selektorid sĂ”ltuvad serveri loodud HTML struktuurist.

Teiselt poolt on lihtsad saidid, mis vajavad vaid natuke interaktiivsust vĂ”i dĂŒnaamilist sisu. Sellistel juhtudel ei kasutaks ma ka jQuery't vaikimisi, kuna natiivsete API-dega on vĂ”imalik teha palju rohkem.

Ieven kui mul on vaja midagi vÔimsamat, otsin ma spetsialiseeritud teeki, nÀiteks axios Ajaxi jaoks vÔi Animate.css animatsioonide jaoks. See on lihtsam, kui laadida kogu jQuery't vÀikese funktsionaalsuse nimel.

Arvan, et parim Ă”igustus jQuery kasutamiseks on see, et see pakub kĂ”ikehĂ”lmavat funktsionaalsust veebilehe esikĂŒljega töötamiseks. Selle asemel, et Ă”ppida mitmesuguseid natiivseid API-sid vĂ”i spetsialiseeritud teeke, vĂ”ite lugeda vaid jQuery dokumentatsiooni ja hakata kohe tootlikuks.

Imperatiivne lÀhenemine ei skaleeru hÀsti, kuid selle omandamine on lihtsam kui teiste teekide deklaratiivne lÀhenemine. Selgelt piiratud vÔimalustega saidile on parem kasutada jQuery't ja rahulikult töötada: teek ei nÔua keerulist koostamist ega kompileerimist.

Lisaks on jQuery hea juhul, kui olete kindel, et sait ei muutu aja jooksul keerukamaks, ja kui teid ei hÀiri natiivne funktsionaalsus, mis kindlasti nÔuab rohkem koodi kirjutamist kui jQuery.

Samuti vÔite seda teeki kasutada, kui on vaja toetada vanu IE versioone. Siis teenib jQuery teid nagu tookord, kui IE oli kÔige populaarsem brauser.

Vaade tulevikku

jQuery ei kao kaua. See arendab end aktiivselt., ja paljud arendajad eelistavad kasutada selle API-d, isegi kui natiivsed meetodid on saadaval. Raamatukogu aitas kokku tervele pÔlvkonnale arendajatest luua veebisaite, mis töötavad kÔigis brauserites. Ja kuigi paljuski on uued raamatukogud, raamistikud ja paradigmad selle asemele astunud, on jQuery mÀnginud tohutut positiivset rolli kaasaegse veebiarenduse loomisel.

Kui jQuery funktsionaalsus oluliselt ei muutu, on ĂŒsna tĂ”enĂ€oline, et jĂ€rgmise paarikĂŒmne aasta jooksul raamatukogu kasutamine jĂ€tkub aeglaselt, kuid kindlalt vĂ€henema. Uued veebisaidid luuakse tavaliselt algusest peale kaasaegsemate raamistikute abil, ja sobivad jQuery kasutusjuhtumid esinevad jĂ€rjest harvem.

MÔnele ei meeldi veebiarendustööriistade kiire vananemine, kuid minu jaoks on see kiire edusamme mÀrk. jQuery vÔimaldas meil palju paremini teha. Sama kehtib ka tema jÀrgijate kohta.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster