Historia dhe Trashëgimia e jQuery

Historia dhe Trashëgimia e jQuery
jQuery - kjo është më e njohura në botë një bibliotekë JavaScript. Komuniteti i zhvillimit të uebit e krijoi atë në fund të viteve 2000, duke rezultuar në një ekosistem të pasur faqesh, shtojcash dhe kornizash duke përdorur jQuery nën kapak.

Por vitet e fundit, statusi i tij si mjeti kryesor për zhvillimin e uebit është gërryer. Le të shohim pse jQuery u bë popullor dhe pse doli nga moda, dhe gjithashtu në cilat raste është ende e këshillueshme ta përdorni atë për të krijuar faqe interneti moderne.

Një histori e shkurtër e jQuery

John Resig (Xhon Resig) krijoi versionin e parë të bibliotekës në 2005, dhe botuar në vitin 2006-m, në një ngjarje të quajtur BarCampNYC. Aktiv Uebfaqja zyrtare e jQuery autori ka shkruar:

jQuery është një bibliotekë Javascript e bazuar në moton: Javascript duhet të jetë argëtues për të koduar. jQuery merr detyra të zakonshme, të përsëritura, heq të gjitha shënimet e panevojshme dhe i bën ato të shkurtra, elegante dhe të pastra.

jQuery ka dy avantazhe kryesore. E para është një API e përshtatshme për manipulimin e faqeve në internet. Në veçanti, ai ofron metoda të fuqishme për zgjedhjen e elementeve. Jo vetëm që mund të zgjidhni sipas ID-së ose klasës, jQuery ju lejon të shkruani shprehje komplekse, për shembull, të zgjidhni elementë bazuar në marrëdhëniet e tyre me elementë të tjerë:

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

Me kalimin e kohës, mekanizmi i përzgjedhjes u bë një bibliotekë më vete cëcërin.

Avantazhi i dytë i bibliotekës ishte se ajo abstragonte ndryshimet midis shfletuesve. Në ato vite, ishte e vështirë të shkruante kod që mund të funksiononte me besueshmëri në të gjithë shfletuesit.

Mungesa e standardizimit nënkuptonte që zhvilluesit duhej të merrnin parasysh dallimet e shumta midis shfletuesve dhe rasteve të skajshme. Hidhini një sy ky kod burimor i hershëm i jQuery dhe kërkoni për jQuery.browser. Këtu është një shembull:

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

Dhe falë jQuery, zhvilluesit mund t'i zhvendosin shqetësimet për të gjitha këto gracka mbi supet e ekipit që zhvillon bibliotekën.

Më vonë, jQuery e bëri më të lehtë zbatimin e teknologjive më komplekse si animacionet dhe Ajax. Biblioteka është bërë efektivisht një varësi standarde për faqet e internetit. Dhe sot ajo fuqizon një pjesë të madhe të internetit. W3Techs beson se 74% e faqeve sot përdorin jQuery.

Kontrolli mbi zhvillimin e jQuery është bërë gjithashtu më i formalizuar. Në vitin 2011 ekipi krijoi jQuery Board. Dhe në 2012 Bordi jQuery transformuar në jQuery Foundation.

Në vitin 2015, Fondacioni jQuery u bashkua me Fondacionin Dojo, për të krijuar Fondacionin JS, i cili më pas u bashkua me Fondacionin Node.js në 2019-m për të krijuar Fondacioni OpenJS, brenda së cilës jQuery ishte një nga "projekte përparimtare».

Ndryshim i rrethanave

Megjithatë, vitet e fundit jQuery humbi popullaritetin e saj. GitHub hoqi bibliotekën nga pjesa e përparme e faqes sime. Bootstrap v5 hiqni qafe jQuerysepse eshte e tij"varësia më e madhe e klientit për JavaScript të rregullt"(aktualisht 30 KB në madhësi, e minuar dhe e paketuar). Disa tendenca në zhvillimin e uebit kanë dobësuar pozicionin e jQuery si një mjet thelbësor.

shfletues

Për një sërë arsyesh, dallimet dhe kufizimet e shfletuesit janë bërë më pak të rëndësishme. Së pari, standardizimi është përmirësuar. Zhvilluesit kryesorë të shfletuesit (Apple, Google, Microsoft dhe Mozilla) po punojnë së bashku për t'u zhvilluar standardet e internetit brenda kornizës Grupi i Punës për Teknologjinë e Aplikimit të Hipertekstit të Uebit.
Megjithëse shfletuesit ende ndryshojnë nga njëri-tjetri në një numër mënyrash të rëndësishme, shitësit të paktën kanë një mjet për të kërkuar dhe krijuar një bazë të dhënash të përbashkët në vend të luftë e përhershme së bashku. Prandaj, API-të e shfletuesit kanë fituar aftësi të reja. P.sh. Merr API të aftë për të zëvendësuar funksionet Ajax nga 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);
    });

metodat querySelector и querySelectorAll Zgjedhës të kopjuar jQuery:

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

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

Tani mund të manipuloni klasat e elementeve duke përdorur Lista e klasave:

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

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

Faqe Ju mund të mos keni nevojë për jQuery Këtu janë disa situata të tjera në të cilat kodi jQuery mund të zëvendësohet me kodin vendas. Disa zhvillues qëndrojnë gjithmonë me jQuery sepse thjesht nuk dinë për API-të e reja, por kur e dinë, ata fillojnë ta përdorin bibliotekën më rrallë.

Përdorimi i veçorive vendase përmirëson performancën e faqes. Shumë efektet e animacionit nga jQuery tani mund ta zbatoni shumë më efektive duke përdorur CSS.

Arsyeja e dytë është se shfletuesit përditësohen shumë më shpejt se më parë. Shumica e tyre përdorin Strategjia e rinovimit "me gjelbërim të përhershëm"., me përjashtim të Apple Safari. Ato mund të përditësohen në sfond pa përfshirjen e përdoruesit dhe nuk janë të lidhura me përditësimet e OS.

Kjo do të thotë që veçoritë e reja të shfletuesit dhe rregullimet e gabimeve shpërndahen shumë më shpejt dhe zhvilluesit nuk duhet të presin derisa Mund ta përdor do të arrijë një nivel të pranueshëm. Ata mund të përdorin me siguri veçori dhe API të reja pa shkarkuar jQuery ose polyfills.

Arsyeja e tretë është se Internet Explorer po i afrohet një gjendjeje të parëndësishme të plotë. IE ka qenë prej kohësh fatkeqësia e zhvillimit të uebit në mbarë botën. Defektet e tij ishin të përhapura dhe për shkak se IE dominonte në vitet 2000 dhe nuk përdorte një strategji të përditësimit të përjetshëm, versionet e vjetra janë ende të zakonshme.

Në vitin 2016, Microsoft përshpejtoi çmontimin e IE, duke pushuar së mbështeturi versionet e dhjetë dhe të mëparshme, duke kufizuar mbështetjen për IE 11. Dhe gjithnjë e më shumë, zhvilluesit e uebit kanë luksin të injorojnë përputhshmërinë e IE.

Edhe jQuery ndaloi mbështetjen e IE 8 dhe më poshtë duke filluar nga versioni 2.0, botuar në vitin 2013. Dhe megjithëse në disa raste kërkohet ende mbështetja e IE, për shembull, në faqet e vjetra, këto situata lindin gjithnjë e më rrallë.

Korniza të reja

Që nga ardhja e jQuery, janë krijuar shumë korniza, duke përfshirë liderët modernë Reagoj, Këndor и Vue. Ata kanë dy avantazhe të rëndësishme mbi jQuery.

Së pari, ato e bëjnë të lehtë ndarjen e ndërfaqes së përdoruesit në komponentë. Kornizat janë krijuar për të trajtuar paraqitjen dhe përditësimin e faqeve. Dhe jQuery zakonisht përdoret vetëm për azhurnim, duke i lënë detyrën e ofrimit të faqes fillestare serverit.

Nga ana tjetër, komponentët React, Angular dhe Vue ju lejojnë të bashkoni fort HTML, kodin dhe madje edhe CSS. Ashtu siç e ndajmë bazën e kodit në shumë funksione dhe klasa të pavarura, aftësia për të ndarë ndërfaqen në komponentë të ripërdorshëm e bën më të lehtë ndërtimin dhe mirëmbajtjen e faqeve komplekse.

Avantazhi i dytë është se kornizat më të fundit i përmbahen një paradigme deklarative, në të cilën zhvilluesi përshkruan se si duhet të duket ndërfaqja dhe ia lë kornizës të bëjë të gjitha ndryshimet e nevojshme për të arritur atë që dëshirohet. Kjo qasje është në kundërshtim me qasjen imperative që karakterizon kodin jQuery.

Në jQuery, ju shkruani në mënyrë eksplicite hapat për të bërë ndonjë ndryshim. Dhe në një kornizë deklarative ju thoni, "Sipas këtyre të dhënave, ndërfaqja duhet të duket kështu." Kjo mund ta bëjë shumë më të lehtë shkrimin e kodit pa gabime.

Zhvilluesit kanë adoptuar qasje të reja për zhvillimin e faqeve të internetit, kjo është arsyeja pse popullariteti i jQuery është ulur.

Kur të përdorni jQuery?

Kështu që kur duhet të përdorni jQuery?

Nëse kompleksiteti i projektit rritet, atëherë është më mirë të filloni me një bibliotekë ose kornizë tjetër që ju lejon të menaxhoni në mënyrë kuptimplotë kompleksitetin. Për shembull, ndajeni ndërfaqen në komponentë. Përdorimi i jQuery në sajte të tilla mund të duket mirë në fillim, por shpejt do të çojë në kodin e spagetit ku nuk jeni të sigurt se cili fragment ndikon në cilën pjesë të faqes.

Unë kam qenë në një situatë të tillë, kur përpiqem të bëj ndonjë ndryshim, më duket një detyrë e vështirë. Nuk mund të jeni i sigurt se nuk do të prishni asgjë sepse përzgjedhësit e jQuery varen nga struktura HTML e krijuar nga serveri.

Në anën tjetër të shkallës janë sajte të thjeshta që kërkojnë vetëm pak interaktivitet ose përmbajtje dinamike. Nuk do ta paracaktoja jQuery as në këto raste, sepse ka shumë më tepër që mund të bësh me API-të vendase.

Edhe nëse më duhet diçka më e fuqishme, do të kërkoj një bibliotekë të specializuar, p.sh. AXIOS për Ajax ose Animate.css për animacione. Kjo do të jetë më e lehtë sesa ngarkimi i të gjithë jQuery për një funksionalitet të vogël.

Unë mendoj se arsyetimi më i mirë për përdorimin e jQuery është se ai ofron funksionalitet gjithëpërfshirës për pjesën e përparme të një faqe interneti. Në vend që të mësoni një shumëllojshmëri të API-ve vendase ose bibliotekave të specializuara, mund të lexoni vetëm dokumentacionin e jQuery dhe të bëheni menjëherë produktiv.

Qasja imperative nuk shkallëzohet mirë, por është më e lehtë për t'u mësuar sesa qasja deklarative e bibliotekave të tjera. Për një faqe me aftësi qartësisht të kufizuara, është më mirë të përdorni jQuery dhe të punoni me qetësi: biblioteka nuk kërkon montim ose përpilim kompleks.

Për më tepër, jQuery është i mirë nëse jeni të sigurt se faqja juaj nuk do të komplikohet me kalimin e kohës dhe nëse nuk ju intereson funksionaliteti vendas, i cili me siguri do të kërkojë të shkruani më shumë kod se jQuery.

Ju gjithashtu mund ta përdorni këtë bibliotekë nëse keni nevojë të mbështesni versionet më të vjetra të IE. Atëherë jQuery do t'ju shërbejë si në ditët kur IE ishte shfletuesi më i popullarizuar.

Shikoni në të ardhmen

jQuery nuk do të zhduket së shpejti. Ajo duke u zhvilluar në mënyrë aktive, dhe shumë zhvillues preferojnë të përdorin API-në e tij, edhe nëse metodat vendase janë të disponueshme. Biblioteka ka ndihmuar një brez të tërë zhvilluesish të krijojnë faqe interneti që funksionojnë në çdo shfletues. Megjithëse është zëvendësuar në shumë mënyra nga biblioteka, korniza dhe paradigma të reja, jQuery ka luajtur një rol jashtëzakonisht pozitiv në krijimin e ueb-it modern.

Nëse funksionaliteti i jQuery nuk ndryshon ndjeshëm, ka të ngjarë që përdorimi i bibliotekës të vazhdojë të bjerë ngadalë, por në mënyrë të qëndrueshme gjatë viteve të ardhshme. Uebsajtet e reja priren të ndërtohen duke përdorur korniza më moderne që në fillim dhe rastet e përshtatshme të përdorimit për jQuery po bëhen gjithnjë e më të rralla.

Disa njerëzve nuk u pëlqen shpejtësia me të cilën mjetet e zhvillimit të uebit bëhen të vjetëruara, por për mua kjo është dëshmi e përparimit të shpejtë. jQuery na ka lejuar të bëjmë shumë gjëra më mirë. E njëjta gjë vlen edhe për pasardhësit e saj.

Burimi: www.habr.com

Shto një koment