
jQuery — 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 () 2005-ben hozta létre a könyvtár első verzióját, és -m, egy BarCampNYC nevű rendezvényen. 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. .
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: é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 jQuery fejlesztésének felügyelete is formalizáltabbá vált. 2011-ben a csapat És 2012-ben a jQuery Board.
2015-ben a jQuery Alapítvány egyesült a Dojo Alapítvánnyal., amely aztán egyesült a Node.js Alapítvánnyal 2013-ban.-m létrehozásához, amelyen belül a jQuery az egyik a ". »
Változó körülmények
Az utóbbi években azonban a jQuery GitHubBootstrap v5 , mert az övé"(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 keretek között.
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. egymással. Ennek megfelelően a böngésző API-k új képességekre tettek szert. Például 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 и 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: :
// jQuery
$('#warning').toggleClass('visible');
// native
document.querySelector('#warning').classList.toggle('visible');Az oldal 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. most már megvalósítható 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 , 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. 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. 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. , 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. , и Ké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 az Ajaxnak vagy 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. , é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
