jQuery Saga og Legacy

jQuery Saga og Legacy
jQuery - þetta er það vinsælasta í heiminum JavaScript bókasafn. Vefþróunarsamfélagið skapaði það seint á 2000, sem leiddi til ríkulegs vistkerfis vefsvæða, viðbóta og ramma sem notuðu jQuery undir hettunni.

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 (Jón Resig) bjó til fyrstu útgáfuna af bókasafninu árið 2005, og gefin út árið 2006-m, á viðburði sem heitir BarCampNYC. Á Opinber vefsíða jQuery höfundur skrifaði:

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

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 þessum snemma jQuery frumkóða og leitaðu að jQuery.browser. Hér er eitt dæmi:

// 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í 74% vefsvæða í dag nota jQuery.

Stjórn á jQuery þróun hefur einnig orðið formlegri. Árið 2011 liðið búið til jQuery Board. Og árið 2012 jQuery Board breytt í jQuery Foundation.

Árið 2015 sameinaðist jQuery Foundation Dojo Foundation, að stofna JS Foundation, sem síðan sameinaðist Node.js Foundation í 2019-m að skapa OpenJS Foundation, þar sem jQuery var einn af „tímamótaverkefni. »

Breyttar aðstæður

Hins vegar á undanförnum árum jQuery missti vinsældir sínar. GitHub fjarlægði bókasafnið af framenda síðunnar minnar. Bootstrap v5 losaðu þig við jQueryþví það er hans"stærsta viðskiptavinur ósjálfstæði fyrir venjulegt JavaScript"(nú 30 KB að stærð, minnkað og pakkað). Nokkrar straumar í vefþróun hafa veikt stöðu jQuery sem nauðsynlegt tæki.

Браузеры

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 vefstaðla innan rammans Web Hypertext Application Technology Working Group.
Þ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ð varanlegt stríð saman. Í samræmi við það hafa API vafra öðlast nýja möguleika. Td Sækja API fær um að skipta um Ajax aðgerðir frá jQuery:

// 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 querySelector и querySelectorAll afrit jQuery veljara:

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

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

Þú getur nú stjórnað frumefnaflokkum með því að nota flokkalisti:

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

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

Síða Þú gætir ekki þurft jQuery Á listanum eru nokkrar fleiri aðstæður þar sem hægt er að skipta út jQuery kóða fyrir innfæddan kóða. Sumir verktaki halda alltaf við jQuery vegna þess að þeir vita einfaldlega ekki um nýju API, en þegar þeir gera það byrja þeir að nota safnið sjaldnar.

Notkun innfæddra eiginleika bætir árangur síðunnar. Margir hreyfimyndaáhrif frá jQuery nú er hægt að framkvæma miklu áhrifaríkari með CSS.

Önnur ástæðan er sú að vafrar eru uppfærðir mun hraðar en áður. Flestir þeirra nota „sígræn“ endurnýjunarstefna, að undanskildum Apple Safari. Hægt er að uppfæra þær í bakgrunni án þátttöku notenda og eru ekki bundnar við stýrikerfisuppfærslur.

Þetta þýðir að nýjum vafraeiginleikum og villuleiðréttingum er dreift mun hraðar og verktaki þarf ekki að bíða þangað til Get ég notað nái viðunandi stigi. Þeir geta örugglega notað nýja eiginleika og API án þess að hlaða niður jQuery eða polyfills.

Þ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, hætta að styðja tíunda og eldri útgáfur, sem takmarkar stuðning við IE 11. Og í auknum mæli hafa vefhönnuðir þann munað að hunsa IE samhæfni.

Jafnvel jQuery hætti að styðja IE 8 og neðar frá og með útgáfa 2.0, gefin út árið 2013. Og þó að í sumum tilfellum sé enn þörf á IE-stuðningi, til dæmis á eldri síðum, koma þessar aðstæður sjaldnar og sjaldnar upp.

Ný umgjörð

Síðan jQuery kom til sögunnar hafa margir rammar verið búnir til, þar á meðal nútímaleiðtogar Bregðast, Stækkun и Vue. Þeir hafa tvo mikilvæga kosti umfram jQuery.

Í 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. ásum fyrir Ajax eða Animate.css fyrir hreyfimyndir. Þetta verður auðveldara en að hlaða öllum jQuery fyrir litla virkni.

É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 að þróast á virkan hátt, og margir forritarar kjósa að nota API þess, jafnvel þótt innfæddar aðferðir séu tiltækar. Bókasafnið hefur hjálpað heilli kynslóð þróunaraðila að búa til vefsíður sem virka á hvaða vafra sem er. Þrátt fyrir að það hafi verið skipt út á margan hátt fyrir nýjum bókasöfnum, ramma og hugmyndafræði, hefur jQuery gegnt gríðarlega jákvæðu hlutverki í sköpun nútíma vefsins.

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

Bæta við athugasemd