jQuery 4.0: Čo prvé veľké vydanie za desaťročie skutočne zmení

Posledná aktualizácia: 01/22/2026
  • jQuery 4.0 je prvé veľké vydanie za približne 10 rokov, ktoré bolo spustené okolo 20. výročia knižnice a zameriava sa skôr na modernizáciu než na okázalé nové funkcie.
  • Aktualizácia ruší podporu pre IE10 a niekoľko starších prehliadačov, zosúlaďuje udalosti focus so špecifikáciami W3C a výrazne orezuje staré, zastarané API.
  • Zdrojový kód jQuery sa s Rollup presunul z modulov AMD na ES, vylepšil súlad CSP s dôveryhodnými typmi a ďalej zmenšil štandardné a slim zostavy.
  • Napriek modernému JavaScriptu a populárnym frameworkom zostáva jQuery stále široko používaný, pričom názory sa delia na tých, ktorí ho považujú za starší, a tých, ktorí si stále cenia jeho stručné API.

Ilustrácia jQuery 4

Po takmer desiatich rokoch bez väčšej aktualizácie, jQuery 4.0 otvára novú kapitolu pre jednu z najvplyvnejších JavaScriptových knižníc na webe. Toto vydanie, načasované tesne po 20. výročí odhalenia jQuery od Johna Resiga, nie je ani tak o okázalých nových trikoch, ako skôr o zbavení sa starých prvkov a zosúladení projektu s tým, ako v skutočnosti dnes vytvárame kód pre prehliadače.

Namiesto toho, aby sa znovuobjavoval, jQuery 4 si kladie za cieľ zostať relevantný modernizáciou svojho jadra: zrušenie podpory zastaraných prehliadačov, prijatie modulov ES, zlepšenie zabezpečenia prostredníctvom dôveryhodných typov a vyčistenie dlho zastaraných rozhraní API. Výsledkom je štíhlejšia knižnica, ktorá prirodzenejšie zapadá do súčasných nástrojov a zároveň sa snaží „nenarušiť web“ pre obrovské množstvo stránok, ktoré sa na ňu spoliehajú.

Významné vydanie, ktoré sa pripravovalo desaťročie

Skok na 4.0 je prvé veľké navýšenie verzie od série jQuery 3, ktorá prichádza po dlhom vývojovom cykle s beta verziami a predbežnými verziami začiatkom roka 2024. Tím ju opísal ako vydanie, v ktorom konečne implementovali zmeny, ktoré chceli roky, ale nedokázali ich dodať v podobe záplat alebo menších aktualizácií.

Za číslom verzie sa skrýva širší míľnik: jQuery existuje už približne dvadsať rokovKeď John Resig prvýkrát predstavil túto knižnicu v roku 2006, práca s DOM v prehliadačoch ako IE, Firefox a Safari bola náchylná na chyby a zdĺhavá. jQuery sa rýchlo stal de facto spôsobom, ako tieto nezrovnalosti vyrovnať, vďaka čomu sa selektory ako napríklad $("#myspan") pôsobia oveľa prístupnejšie ako rozsiahle natívne alternatívy.

Tento skorý úspech formoval web. Podľa dlhodobých technologických prieskumov, jQuery je stále prítomný na veľkej väčšine stránok ktoré deklarujú knižnicu JavaScript, a to aj napriek tomu, že novšie frameworky ako React, Vue, Angular alebo Svelte sa dostali do centra pozornosti v mnohých projektoch na zelenej lúke.

Vzhľadom na také široké prijatie správcovia opakovane zdôrazňovali, že nemôžu riskovať náhodné poškodenie existujúcich stránok, najmä preto, že mnohé stránky načítavajú jQuery priamo z verejných CDN. jQuery 4 preto kráča po tenkej hranici: prináša zásadné zmeny, ale je navrhnutý tak, aby väčšina projektov mohla byť aktualizovaná s obmedzenými úpravami, s čím pomáha oficiálny sprievodca aktualizáciou a aktualizovaný plugin jQuery Migrate.

Koniec pre IE10 a ďalšie staršie prehliadače

Jedným z najviditeľnejších rozhodnutí v tejto verzii je, že Internet Explorer 10 a staršie verzie už nie sú podporovanéTento krok sa očakával už roky, ale jQuery 4 je verzia, ktorá konečne preruší šnúru, čo odráža, ako málo sa tieto prehliadače používajú v modernej analytike a povzbudzuje tímy, aby... zistiť používanie prehliadača.

Príbeh o zastarávaní je postupne rozdelený: IE 11 stále funguje s jQuery 4, ale tím už naznačil, že v jQuery 5 bude zrušený. To dáva organizáciám s prísnymi obmedzeniami pre staršie verzie určitý priestor na dýchanie a zároveň jasne ukazuje, že éra IE sa blíži ku koncu.

V oblasti IE existujú ďalšie škrty: Edge Legacy (pred verziou Chromium) mizne z matice podpory, spolu so starým prehliadačom Android a staršími generáciami iOS a Firefoxu. V rozsahu pôsobnosti zostávajú iba posledné verzie týchto prehliadačov a Firefox ESR. Očakáva sa, že projekty, ktoré musia skutočne podporovať takéto prostredia, zostanú na úrovni verzie 3.x.

Orezanie tohto zoznamu prehliadačov nielen zjednodušuje testovanie v rôznych prehliadačoch; tiež odstraňuje značné časti kódu kompatibilityTo priamo prispieva k menšej veľkosti súboru jQuery 4, najmä po odstránení vetiev špecifických pre Internet Explorer.

Bezpečnosť: Dôveryhodné typy a prísnejšie zosúladenie CSP

Okrem podpory prehliadačov jQuery 4 reaguje aj na moderné bezpečnostné očakávania vo veľkých produkčných nasadeniachMnoho organizácií sa teraz vo veľkej miere spolieha na politiku zabezpečenia obsahu (CSP), aby znížili vystavenie útokom typu cross-site scripting (XSS), a vnútorné prvky jQuery potrebovali aktualizácie, aby sa správne správali aj za prísnejších pravidiel.

Zmena titulku je podpora dôveryhodných typovKeď stránka uplatňuje pravidlá, ako napríklad require-trusted-types-for 'script', iba hodnoty obalené v špecifických dôveryhodných typoch (ako napríklad TrustedHTML) sa môže vložiť do citlivých DOM sink. Staršie verzie jQuery mohli neúmyselne porušovať tieto obmedzenia v niektorých cestách API, čo spôsobovalo napätie pre tímy, ktoré sa snažia sprísniť svoje CSP.

S 4.0, HTML obsah zabalený ako TrustedHTML je teraz možné preniesť do metód manipulácie s DOM v jQuery. bez toho, aby sa spúšťali porušenia pravidiel. Knižnica bola auditovaná, aby v prípade možnosti pracovala s dôveryhodnými typmi namiesto toho, aby s nimi bojovala.

Ďalšia súvisiaca úprava ovplyvňuje asynchrónne načítavanie skriptov. jQuery teraz uprednostňuje vytváranie štandardných <script> tagy pre mnoho požiadaviek asynchrónnych skriptov namiesto spoliehania sa na vložené konštrukcie. Táto zmena pomáha predchádzať chybám CSP v nastaveniach, ktoré zakazujú vložený JavaScript, čo je čoraz bežnejšie v zosilnených nasadeniach.

Od modulov AMD k modulom ES a novému postupu zostavovania

Pod kapotou jQuery 4 zahŕňa ES moduly ako jeho primárny formát modulov, čím zanecháva staršiu štruktúru AMD, ktorá dlho poháňala jeho reťazec zostavovania. Toto zosúlaďuje projekt so štandardným modulovým systémom, na ktorom sa spolieha moderný JavaScript.

Namiesto RequireJS projekt teraz používa Súhrn na zoskupenie zdroja modulu ESPre tímy, ktoré integrujú jQuery do súčasných nástrojov, to znamená, že knižnica prirodzenejšie zapadá do iných závislostí založených na ESM a možno ju využívať priamo prostredníctvom... <script type="module"> kde je to vhodné.

Testy boli tiež upravené: Modulárna verzia sa vykonáva samostatne, aby sa problémy špecifické pre zostavenie ESM dali včas odhaliť. Toto je obzvlášť dôležité pre vývojárov, ktorí chcú importovať iba časti jQuery vo vlastných balíkoch alebo ktorí štandardizujú svoju kódovú základňu okolo sémantiky ESM.

Distribúcia sa z prevádzkového hľadiska dramaticky nezmenila. Nová verzia je dostupná prostredníctvom oficiálnej siete jQuery CDN a prostredníctvom služby npm., pričom siete CDN tretích strán to zvyčajne časom zvládnu. Pre existujúce kanály alebo procesy nasadenia CI to znamená minimálne trenie pri prechode z predchádzajúcej verzie 3.x na nové zostavy.

Dlhý zoznam odstránených a zastaraných API

Zatiaľ čo skoršie menšie vydania vývojárov jemne odvádzali od starých vzorcov, jQuery 4 konečne odstraňuje mnoho API, ktoré boli roky označené ako zastarané.Cieľom je oprieť sa o vstavané funkcie JavaScriptu, ktoré už poskytuje každý podporovaný prehliadač.

Medzi odstránené služby patria inžinierske siete ako napr. jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumbera jQuery.cssPropsTieto funkcie pôvodne vypĺňali medzery v nekonzistentných implementáciách prehliadačov, ale do značnej miery duplikujú to, čo teraz ponúka samotný jazyk.

V praxi, Očakáva sa, že kódové bázy nahradia tieto pomocné programy ich natívnymi ekvivalentmi.: Array.isArray() namiesto jQuery.isArray, JSON.parse() kde jQuery.parseJSON bývalo, String.prototype.trim() nahradenie jQuery.trima Date.now() pre jQuery.now, okrem iného. Migrácia týmto smerom má za následok lepšiu prenosnosť kódu a jeho menšiu viazanosť na správanie špecifické pre jQuery.

Na vnútornej strane, metódy polí, ako napríklad push, sorta splice boli odstránené z prototypu jQueryV podstate išlo o interné pomocné programy, ktoré boli náhodou odhalené, a ich odstránenie objasňuje, že vývojári by mali s kolekciami jQuery zaobchádzať inak ako s obyčajnými poľami, aj keď niekedy zdieľajú povrchné podobnosti.

Vďaka tomuto čisteniu, v kombinácii s odstránením kódu so špeciálnymi prípadmi pre staršie verzie Internet Exploreru, zmenšuje veľkosť knižnice o viac ako 3 kilobajty vo formáte gzipPre stránky, ktorým záleží na každom kilobajte, je to nezanedbateľná úspora, najmä v kombinácii s ďalšími optimalizáciami.

Štandardná zostava, tenká zostava a zmenšenie veľkosti súboru

Veľkosť súboru bola vždy súčasťou diskusií o jQuery a Verzia 4 pokračuje v trende smerom k štíhlejšiemu jadruMinifikovaná štandardná zostava teraz váži necelých 80 KB v porovnaní s približne 88 KB pre jQuery 3.7.1.

Štíhla zostava je zameraná na prostredia, ktoré nepotrebujú podporu Ajaxu ani animácií.Odstránením týchto modulov sa tenká varianta jQuery 4 ešte viac zníži, pričom v jednej správe dosiahne približne 56 KB a v inej zhruba 19.5 KB gzipovaná, v závislosti od metrík a detailov kompresie, ktoré si pozriete. V každom prípade je smer jasný: menej legacy, menšie balíčky.

Okrem Ajaxu a animácie, štíhla zostava tiež vynecháva odložené a spätné volania v novej verzii. Vzhľadom na to, že natívne Promises sú teraz dobre podporované vo všetkých cieľových prehliadačoch okrem IE11, tím si bol istý, že väčšina asynchrónnych vzorov sa môže priamo spoliehať na vstavané jazykové primitívy.

Vývojári, ktorí uprednostňujú kompletné rozhranie API, sa stále môžu rozhodnúť pre štandardnú verziu, ale Projekty, ktoré chcú minimalizovať užitočné zaťaženie, majú viac možností ako predtým.Vzhľadom na čoraz prísnejšie rozpočty na výkon, najmä na mobilných zariadeniach, je možnosť vybrať si orezaný variant praktickou výhodou.

Udalosti zaostrenia a rozmazania teraz zodpovedajú špecifikácii W3C

Jedna z jemnejších, ale zároveň významných zmien správania v jQuery 4 zahŕňa udalosti zaostrenia a rozmazania na prvkoch používateľského rozhraniaPrehliadače sa historicky nezhodovali na presnom poradí, v akom sa tieto udalosti spúšťali, čo viedlo k ťažko sledovateľným nezrovnalostiam.

Aby sa s tým vyrovnal, staršie verzie jQuery prepísali natívne poradie udalostí zabezpečiť jednotnú postupnosť, aj keby to znamenalo odchýlenie sa od vyvíjajúcich sa štandardov. Vývojári vytvorili kód na základe týchto predpokladov, často bez toho, aby si uvedomili, že správanie sa líši od toho, čo prehliadače postupne štandardizovali.

Teraz, keď špecifikácia W3C definuje konzistentné poradie pre focus, focusin, focusout a blur, moderné prehliadače sa väčšinou priklonili k tomuto modelu. V reakcii na to jQuery 4 odstraňuje svoju starú logiku prepisovania a necháva prevládať natívne poradie udalostí vo všetkých podporovaných prehliadačoch, v súlade s aktuálnou špecifikáciou.

Výhodou je, že správanie sa stáva predvídateľnejším v celom ekosystémeNevýhodou je, že kód, ktorý sa spoliehal na predchádzajúce poradie jQuery, sa teraz môže správať inak, čo môže viesť k neočakávaným hraničným prípadom vo formulároch alebo zložitých interakciách používateľského rozhrania. Toto je jedna z oblastí, kde môže byť obzvlášť užitočné spúšťať testy a používať aktualizovaný plugin jQuery Migrate počas aktualizácií.

Štíhlejšia knižnica, ale nie všetci súhlasia s jej úlohou

Rovnako ako pri každej technológii s dlhou životnosťou, Názory na miesto jQuery v roku 2026 sú ostro rozdelenéPre niektorých vývojárov je záver jednoduchý: ak začínate s úplne novou webovou aplikáciou zameranou na moderné prehliadače, zdá sa, že neexistuje žiadny dôvod na zavedenie jQuery.

Kritici často poukazujú na obavy z výkonu a závislostiNatívny JavaScript je zvyčajne rýchlejší a nevyžaduje pridávanie desiatok kilobajtov knižničného kódu. Staršie verzie jQuery tiež zvyčajne zostávajú na produkčných stránkach bez záplat, pričom nezanedbateľný podiel webu údajne stále používa desaťročie staré verzie 2.x.

Na druhej strane debaty mnohí odborníci tvrdia, že jQuery zostáva efektívnym a pragmatickým nástrojom v každodennej práciZatiaľ čo frameworky ako React alebo Vue dominujú veľkým jednostránkovým aplikáciám, jQuery môže byť jednoduchšie riešenie pre postupné vylepšenia, klasické viacstránkové weby alebo rýchle prototypy, kde sa vytváranie celého pipeline komponentov zdá byť prehnané.

Stále existujú vývojári, ktorí opisujú jQuery ako jedna z mála JavaScriptových knižníc, ktorá sa konzistentne príjemne používa, najmä pre manipuláciu s DOM a spracovanie udalostí. Jeho stručná syntax, reťaziteľné metódy a dlhodobo zaužívané idiomy dokážu zredukovať štandardné postupy a udržať malé skripty čitateľné.

Tento kontrast perspektív znamená, že jQuery 4 bude pravdepodobne interpretovaný rôznymi spôsobmi: ako elegantnú modernizáciu staršieho nástroja niektorými a ako minimálnu údržbovú verziu pre upadajúcu éru inýmiRealita je taká, že mnohé výrobné závody sa naň naďalej spoliehajú bez ohľadu na to, či sa objavuje v nových šablónach projektov.

Použitie v reálnom svete: kedy jQuery stále šetrí čas

Okrem abstraktných argumentov ukazujú príbehy z každodenného vývoja, ako jQuery dokáže stále vyriešiť určité problémy s veľmi malým množstvom kóduJeden príklad zahŕňa vytváranie animovaných, prepínateľných polí formulára, kde sa niektoré vstupy zobrazia iba vtedy, keď sú vybrané alebo začiarknuté iné.

V tom prípade, Vývojár sa spočiatku pokúsil vytvoriť toto správanie pomocou obyčajného JavaScriptu, žonglovanie s viacerými poslucháčmi udalostí, prechodmi CSS a problémami s načasovaním. Po niekoľkých pokusoch sa skript rozrástol na viac ako päťdesiat riadkov a stále trpel problémami s pretekaním, kedy animácie konfliktovali alebo sa spúšťali v nesprávnom poradí.

Nakoniec zvíťazila frustrácia a jQuery 4 bol pridaný ako závislosťVyužitím nástrojov na spracovanie udalostí a animáciu sa rovnaký efekt dosiahol iba v niekoľkých riadkoch kódu. Kompromis bol priamočiary: ďalšia knižnica s veľkosťou ~80 KB výmenou za oveľa jednoduchšiu implementáciu a možnosť prejsť na ďalšie funkcie.

Scenáre ako tento zdôrazňujú prečo Dlhodobé motto knižnice „písať menej, robiť viac“ stále rezonuje pre niektoré tímyAj v ére natívnych API a sofistikovaných frameworkov existujú chvíle, kedy je malý skript rozšírený o jQuery rýchlejšie zostaviteľný a ľahšie udržiavateľný ako plne vlastné riešenie.

Samozrejme, to neznamená, že každý projekt má úžitok zo začlenenia jQuery. Moderné rozhrania JavaScript a DOM API sú konzistentnejšie ako kedysi.Štandardy , HTML5 a ECMAScript znížili problémy s fungovaním naprieč prehliadačmi a pre mnohé jednostránkové aplikácie môže byť vhodnejší framework alebo žiadna knižnica. Nejde ani tak o to, že jQuery je univerzálne potrebné, ako skôr o to, že zostáva užitočnou možnosťou, keď sa problém a obmedzenia zhodujú.

Od základnej abstrakcie k štandardnej knižnici

Aby sme pochopili, prečo sa jQuery 4 zameriava na zjednodušenie, a nie na prepracovanie, je užitočné si uvedomiť, že ako inak vyzerala krajina, keď sa objavila knižnicaPred dvoma desaťročiami sa prehliadače často líšili v interpretácii správania JavaScriptu a DOM, čo spôsobovalo, že aj základné interakcie sa zdali byť krehké.

V tomto prostredí, jQuery nebol v skutočnosti voliteľný pre mnoho tímov. Zlúčil volania Ajaxu, výber DOM, spracovanie udalostí a animácie do konzistentného API, čo vývojárom umožnilo dôverovať, že kód sa bude správať podobne v prehliadačoch IE, Firefox, Safari a neskôr aj Chrome. Táto konzistentnosť bola kľúčová v čase, keď Microsoft často presadzoval vlastné nápady s Internet Explorerom a očakával, že ho budú nasledovať ostatní.

Odvtedy sa normalizačné orgány a dodávatelia prehliadačov zhodli na... HTML5, moderné verzie ECMAScript a oveľa lepšie zarovnanie medzi prehliadačmiPrehliadač Chrome a jeho deriváty dominujú na trhu a základné možnosti prehliadačov sú oveľa vyššie ako v čase, keď sa jQuery prvýkrát rozšírilo medzi vývojárskymi kruhmi.

V dôsledku toho sa jQuery dnes menej zameriava na obchádzanie nekompatibilit a viac na... funguje ako pohodlná, známa „štandardná knižnica“ nad JavaScriptomJeho štýl reťazenia funkcií a stručné idiómy podporujú uvoľnený, takmer funkčný spôsob štruktúrovania kódu založeného na DOM, aj keď základný jazyk nie je čisto funkčný.

Pre vývojárov, ktorí poznali iba moderné nástroje, Hĺbku vplyvu jQuery možno ľahko prehliadnuťMnohé vzory, ktoré knižnica zaviedla alebo spopularizovala, boli začlenené späť do jazyka a samotných rozhraní DOM API. V tomto zmysle sa jQuery 4 nesnaží získať späť stratené územie, ale skôr udržať knižnicu v súlade s ekosystémom, ktorý okolo nej vyrástol.

Celkovo zmeny v jQuery 4.0.0 – od vynechania IE10 až po prijatie ES modulov, dôveryhodných typov a užšej sady API – odrážajú projekt, ktorý sa vedome vyvíja bez toho, aby opustil milióny stránok, ktoré sú na ňom stále závisléTáto verzia sa nesnaží priamo konkurovať moderným frameworkom, ale tímom, ktoré naďalej používajú jQuery, poskytuje verziu, ktorá sa v dnešnom prostredí prehliadačov a nástrojov cíti ako doma, pričom ponecháva otvorené dvere pre postupnú migráciu tam, kde to dáva zmysel.

ataque generalizado de la cadena de suministro de NPM
Súvisiaci článok:
Rozsiahly útok na dodávateľský reťazec NPM otriasa ekosystémom JavaScriptu
Súvisiace príspevky: