jQuery története és öröksége

jQuery története és öröksége
jQuery — Ez a legnépszerűbb A jQuery egy világszerte elterjedt JavaScript könyvtár. A webfejlesztő közösség a 2000-es évek végén hozta létre, ami a jQuery-t használó weboldalak, bővítmények és keretrendszerek gazdag ökoszisztémájának megjelenéséhez vezetett.

Az utóbbi években azonban a webfejlesztő eszközként betöltött szerepe csökkent. Nézzük meg, miért lett népszerű a jQuery, miért veszített népszerűségéből, és mikor helyénvaló még mindig használni modern weboldalak készítéséhez.

A jQuery rövid története

John Resig (Resig János) 2005-ben hozta létre a könyvtár első verzióját, és 2006-ban jelent meg-m, egy BarCampNYC nevű rendezvényen. A jQuery hivatalos weboldala a szerző írta:

A jQuery egy JavaScript könyvtár, amely a következő mottóra épül: A JavaScript programozásnak szórakoztatónak kell lennie. A jQuery átveszi a gyakori, ismétlődő feladatokat, eltávolítja az összes felesleges jelölést, és rövidvé, elegánssá és érthetővé teszi azokat.

A jQuery-nek két fő előnye van. Először is, kényelmes API-t biztosít a weboldalak manipulálásához. Konkrétan hatékony metódusokat kínál az elemek kiválasztásához. Nemcsak azonosító vagy osztály alapján választhatunk ki; a jQuery lehetővé teszi összetett kifejezések írását, például elemek más elemekkel való kapcsolataik alapján történő kiválasztására:

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

Idővel a szelekciós mechanizmus egy külön könyvtárrá fejlődött. Sistereg.

A könyvtár második előnye az volt, hogy absztraktálta a böngészők közötti különbségeket. Akkoriban nehéz volt olyan kódot írni, amely minden böngészőben megbízhatóan működött.

A szabványosítás hiánya azt jelentette, hogy a fejlesztőknek számos különbséget kellett figyelembe venniük a böngészők és a peremhálózatok között. Vessen egy pillantást a következőre: Ez a korai jQuery forráskód és keressen rá a jQuery.browser fájlra. Íme egy példa:

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

A jQuery-nek köszönhetően a fejlesztők átháríthatták ezen buktatók kezelésének terhét a könyvtárat fejlesztő csapat vállára.

Később a jQuery lehetővé tette az összetettebb technológiák, például az animáció és az Ajax megvalósítását. A könyvtár de facto szabványos függőséggé vált a weboldalak számára. És ma az internet hatalmas részét működteti. A W3Techs úgy véli, hogy A weboldalak 74%-a ma jQuery-t használ.

A jQuery fejlesztésének felügyelete is formalizáltabbá vált. 2011-ben a csapat jQuery táblát hozott létreÉs 2012-ben a jQuery Board átalakult jQuery Alapítványná.

2015-ben a jQuery Alapítvány egyesült a Dojo Alapítvánnyal. a JS Alapítvány létrehozása, amely aztán egyesült a Node.js Alapítvánnyal 2013-ban. 2019-m létrehozásához OpenJS Alapítvány, amelyen belül a jQuery az egyik a "áttörést jelentő projektek. »

Változó körülmények

Az utóbbi években azonban a jQuery elvesztette a népszerűségétGitHub eltávolítottam a könyvtárat a weboldalam előlapjárólBootstrap v5 szabadulj meg a jQuery-től, mert az övé"a legnagyobb kliensoldali függőség a sima JavaScript esetében(Jelenleg 30 KB méretű, minimalizált és csomagolt). A webfejlesztés számos trendje gyengítette a jQuery pozícióját, mint szükséges eszköz.

Браузеры

Számos okból kifolyólag a böngészők közötti különbségek és korlátok kevésbé fontossá váltak. Először is, javult a szabványosítás. A főbb böngészőgyártók (az Apple, a Google, a Microsoft és a Mozilla) együttműködnek a fejlesztésben webes szabványok keretek között Webes hipertext alkalmazástechnológiai munkacsoport.
Bár a böngészők továbbra is számos fontos módon különböznek egymástól, a gyártóknak legalább van módjuk a közös adatbázis keresésére és létrehozására. állandó háború egymással. Ennek megfelelően a böngésző API-k új képességekre tettek szert. Például Fetch API jQuery Ajax függvényeit is lecserélheti:

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

mód querySelector и querySelectorAll jQuery szelektorok duplikálása:

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

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

Az elemosztályok mostantól manipulálhatók a következővel: osztálylista:

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

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

Az oldal Lehet, hogy nincs szükséged jQuery-re Számos további helyzetet sorolunk fel, amelyekben a jQuery kód natív kóddal helyettesíthető. Egyes fejlesztők mindig a jQuery-nél maradnak, mert egyszerűen nincsenek tisztában az új API-kkal, de amint megismerik őket, ritkábban kezdik használni.

A natív funkciók használata javíthatja az oldal teljesítményét. jQuery animációs effektek most már megvalósítható sokkal hatékonyabb CSS használatával.

A második ok az, hogy a böngészők sokkal gyorsabban frissülnek, mint korábban. Legtöbbjük használja „örökzöld” megújulási stratégia, az Apple Safari kivételével. Ezek a háttérben, felhasználói beavatkozás nélkül frissülhetnek, és nincsenek az operációs rendszer frissítéseihez kötve.

Ez azt jelenti, hogy az új böngészőfunkciók és hibajavítások sokkal gyorsabban kerülnek terjesztésre, és a fejlesztőknek nem kell várniuk a megosztásra. Használhatom elfogadható szintet fog elérni. Magabiztosan használhatják az új funkciókat és API-kat jQuery vagy polyfill betöltése nélkül.

A harmadik ok az, hogy az Internet Explorer a teljes elavultsághoz közeledik. Az IE régóta a webfejlesztés csapása világszerte. A benne rejlő hibák széles körben elterjedtek voltak, és mivel az IE uralta a 2000-es éveket, és nem alkalmazott „örökzöld” frissítési stratégiát, a régebbi verziók még mindig gyakran megtalálhatók.

2016-ban a Microsoft felgyorsította az IE leszerelését. abbahagyta a támogatást Az IE 10 és a korábbi verziók csak az IE 11-et támogatják. És a webfejlesztők egyre inkább megengedhetik maguknak azt a luxust, hogy figyelmen kívül hagyják az IE kompatibilitást.

Még a jQuery is leállította az IE 8 és az alatti verziók támogatását ettől kezdve. 2.0. verzió, 2013-ban jelent meg. Bár bizonyos esetekben, például régebbi weboldalakon, továbbra is szükség van IE-támogatásra, ezek a helyzetek egyre ritkábbak.

Új keretrendszerek

A jQuery kezdetei óta számos keretrendszer készült, beleértve a mai vezetőket is. Reagál, szögletes и VueKét fontos előnyük van a jQuery-vel szemben.

Először is, lehetővé teszik a felhasználói felület egyszerű szétválasztását komponensekre. A keretrendszerek úgy vannak kialakítva, hogy kezeljék mind az oldal renderelését, mind a frissítést. A jQuery-t ezzel szemben jellemzően csak frissítésre használják, így a szerverre marad a kezdeti oldal renderelésének kezelése.

Másrészről a React, Angular és Vue komponensek lehetővé teszik a HTML, a kód és még a CSS közötti szoros összekapcsolást is. Ahogyan a kódbázist több, önálló függvényre és osztályra osztjuk, úgy a felület újrafelhasználható komponensekre osztásának képessége leegyszerűsíti az összetett weboldalak összeállítását és karbantartását.

A második előny az, hogy az újabb keretrendszerek egy deklaratív paradigmát követnek, amelyben a fejlesztő leírja, hogyan kell kinéznie a felületnek, és delegálja a keretrendszernek az összes szükséges változtatást a kívánt eredmény elérése érdekében. Ez a megközelítés ellentétben áll a jQuery kódra jellemző imperatív megközelítéssel.

A jQuery-ben explicit módon definiáljuk a változtatások végrehajtásának lépéseit. Egy deklaratív keretrendszerben azt mondjuk: „Ezen adatok alapján a felületnek így kell kinéznie.” Ez sokkal könnyebbé teheti a hibamentes kód írását.

Ahogy a fejlesztők új megközelítéseket alkalmaztak a weboldalfejlesztésben, a jQuery népszerűsége csökkent.

Mikor érdemes jQuery-t használni?

Szóval mikor? kell, hogy legyen jQuery-t használsz?

Ha a projekt összetettsége növekszik, jobb egy másik könyvtárral vagy keretrendszerrel kezdeni, amely lehetővé teszi az érdemi komplexitáskezelést. Például a felület komponensekre osztásával. A jQuery használata ilyen oldalakon elsőre elfogadhatónak tűnhet, de gyorsan spagetti kódhoz vezet, ahol nem biztos, hogy melyik részlet befolyásolja az oldal melyik részét.

Voltam már ilyen helyzetben: bármilyen változtatás elvégzése ijesztő feladatnak tűnik. Nem lehetsz biztos benne, hogy nem fogsz semmit elrontani, mert a jQuery szelektorok a szerver által generált HTML struktúrától függenek.

A spektrum másik végén az egyszerű weboldalak állnak, amelyek csak minimális interaktivitást vagy dinamikus tartalmat igényelnek. Ilyen esetekben sem a jQuery-t használnám alapértelmezettként, mivel a natív API-k sokkal többet tudnak.

Még ha valami erősebbre is szükségem van, akkor is keresek egy speciális könyvtárat, például Axios az Ajaxnak vagy Animate.css animációkhoz. Ez egyszerűbb lesz, mint a teljes jQuery betöltése egy kis funkció miatt.

Szerintem a jQuery használatának legjobb indoka az, hogy átfogó funkcionalitást biztosít egy weboldal frontendje számára. Ahelyett, hogy különféle natív API-kat vagy speciális könyvtárakat kellene megtanulnod, egyszerűen elolvashatod a jQuery dokumentációját, és pillanatok alatt produktívvá válhatsz.

Az imperatív megközelítés nem skálázható jól, de könnyebben elsajátítható, mint más könyvtárak deklaratív megközelítése. Egy egyértelműen korlátozott képességekkel rendelkező webhely esetén jobb a jQuery-t használni, és gond nélkül dolgozni: a könyvtár nem igényel komplex buildeket vagy fordítást.

Továbbá a jQuery jó választás, ha biztos vagy benne, hogy az oldal idővel nem válik bonyolultabbá, és ha nem érdekel a natív funkcionalitás, ami minden bizonnyal több kód írását igényli, mint a jQuery.

Ezt a könyvtárat akkor is használhatod, ha régebbi IE verziókat kell támogatnod. Akkor a jQuery ugyanolyan jól fog szolgálni, mint amikor az IE volt a legnépszerűbb böngésző.

kutatására

A jQuery nem fog egyhamar eltűnni. aktívan fejlődik, és sok fejlesztő szívesebben használja az API-ját, még akkor is, ha natív metódusok állnak rendelkezésre. A könyvtár egy egész fejlesztőgenerációnak segített olyan weboldalak létrehozásában, amelyek minden böngészőben működnek. És bár nagyrészt felváltották az új könyvtárak, keretrendszerek és paradigmák, a jQuery rendkívül pozitív szerepet játszott a modern web létrehozásában.

Hacsak a jQuery funkcionalitása nem változik jelentősen, valószínű, hogy használata a következő néhány évben lassan, de folyamatosan csökkenni fog. Az új weboldalakat jellemzően kezdettől fogva modernebb keretrendszerekkel építik, így a megfelelő jQuery használati esetek egyre ritkábbak.

Vannak, akik nem szeretik azt a sebességet, amellyel a webfejlesztő eszközök elavulnak, de számomra ez a gyors fejlődés bizonyítéka. A jQuery lehetővé tette számunkra, hogy sok mindent jobban csináljunk. Ugyanez igaz az utódaira is.

Forrás: will.com

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster