jQuery 4.0: Ko patiesībā maina pirmais lielais laidiens desmit gadu laikā

Pēdējā atjaunošana: 01/22/2026
  • jQuery 4.0 ir pirmais nozīmīgais laidiens aptuveni 10 gadu laikā, kas tika izlaists ap bibliotēkas 20. gadadienu un koncentrējas uz modernizāciju, nevis uzkrītošām jaunām funkcijām.
  • Atjauninājums pārtrauc atbalstu IE10 un vairākām novecojušām pārlūkprogrammām, saskaņo fokusa notikumus ar W3C specifikācijām un ievērojami samazina vecās, novecojušās API.
  • jQuery pirmkods ir pārcelts no AMD uz ES moduļiem ar apkopojumu, uzlabota CSP atbilstība uzticamajiem tipiem un vēl vairāk samazinātas standarta un slim versijas.
  • Neskatoties uz moderno JavaScript un populārajiem ietvariem, jQuery joprojām tiek plaši izmantots, un viedokļi dalās starp tiem, kas to uzskata par mantojumu, un tiem, kas joprojām novērtē tā kodolīgo API.

jQuery 4 ilustrācija

Pēc gandrīz desmit gadiem bez būtiskiem atjauninājumiem jQuery 4.0 iezīmē jaunu nodaļu vienai no ietekmīgākajām JavaScript bibliotēkām tīmeklī. Šī versija, kas tika izlaista tieši pēc Džona Resiga jQuery atklāšanas 20. gadadienas, nav tik daudz par jauniem, košiem trikiem, cik par mantotas bagāžas atmešanu un projekta saskaņošanu ar to, kā mēs mūsdienās veidojam pārlūkprogrammas.

Tā vietā, lai sevi pārveidotu, jQuery 4 tiecas saglabāt aktualitāti, modernizējot savu kodolu : atsakoties no atbalsta novecojušām pārlūkprogrammām, ieviešot ES moduļus, uzlabojot drošību, izmantojot uzticamus tipus, un iztīrot sen novecojušas API. Rezultāts ir vienkāršāka bibliotēka, kas dabiskāk iederas pašreizējos rīkos, vienlaikus cenšoties "nesalauzt tīmekli" milzīgajam vietņu skaitam, kas no tās ir atkarīgas.

Liela mēroga izlaidums, kas tapis desmit gadus pēc kārtas

Pāreja uz 4.0 versiju ir pirmā lielā versijas maiņa kopš jQuery 3 sērijas , kas sekoja ilgam izstrādes ciklam ar beta un iepriekšizlaidumiem, kas sākās 2024. gada sākumā. Komanda to ir raksturojusi kā izlaidumu, kurā viņi beidzot ieviesa izmaiņas, kuras viņi bija vēlējušies gadiem ilgi, bet nevarēja piegādāt ielāpu vai nelielu atjauninājumu veidā.

Aiz versijas numura slēpjas plašāks atskaites punkts: jQuery pastāv jau aptuveni divdesmit gadusKad Džons Resigs 2006. gadā pirmo reizi ieviesa bibliotēku, darbs ar DOM tādās pārlūkprogrammās kā IE, Firefox un Safari bija kļūdains un nogurdinošs. jQuery ātri kļuva par faktisko veidu, kā novērst šīs neatbilstības, padarot tādus selektorus kā $("#myspan") šķiet daudz pieejamāki nekā daudzvārdīgas vietējās alternatīvas.

Šie agrīnie panākumi veidoja tīmekļa attīstību. Saskaņā ar ilgstošām tehnoloģiju aptaujām, jQuery joprojām ir atrodams lielākajā daļā vietņu , kas deklarē JavaScript bibliotēku, pat ja jaunāki ietvari, piemēram, React, Vue, Angular vai Svelte, ir ieņēmuši centrālo vietu daudzos jaunajos projektos.

Ņemot vērā tik plašu pieņemšanu, uzturētāji ir atkārtoti uzsvēruši, ka viņi nevar riskēt ar esošu lapu nejaušu sabojāšanu , jo īpaši tāpēc, ka daudzas vietnes ielādē jQuery tieši no publiskiem CDN. Tāpēc jQuery 4 ievēro smalku līniju: tajā ir ieviestas darbības traucējošas izmaiņas, taču tā ir izstrādāta tā, lai lielāko daļu projektu varētu jaunināt ar ierobežotām modifikācijām, ko atbalsta oficiāla jaunināšanas rokasgrāmata un atjaunināts jQuery Migrate spraudnis.

IE10 un citu mantotu pārlūkprogrammu beigas

Viens no redzamākajiem lēmumiem šajā laidienā ir tas, ka Internet Explorer 10 un vecākas versijas vairs netiek atbalstītas . Šī maiņa tika gaidīta gadiem ilgi, taču jQuery 4 ir versija, kas beidzot pārtrauc šo režīmu, atspoguļojot to, cik maz šo pārlūkprogrammu lietojuma tiek novērots mūsdienu analītikā, un mudinot komandas noteikt pārlūkprogrammu lietojumu.

Novecošanas stāsts ir pakāpenisks: IE 11 joprojām darbojas ar jQuery 4 , taču komanda jau ir norādījusi, ka tas tiks atmests jQuery 5. Tas dod organizācijām ar stingriem mantotiem ierobežojumiem zināmu elpas vilcienu, vienlaikus skaidri norādot, ka IE ēra tuvojas beigām.

Runājot par IE, notiek turpmākas samazināšanas: no atbalsta matricas pazūd Edge Legacy (pirms Chromium) , kā arī vecā Android pārlūkprogramma un vecākas iOS un Firefox paaudzes. Tvērumā tiek saglabātas tikai pēdējās šo pārlūkprogrammu versijas, kā arī Firefox ESR. Paredzams, ka projekti, kuriem patiešām ir jāatbalsta šādas vides, paliks 3.x līnijā.

Šī pārlūkprogrammu saraksta saīsināšana ne tikai vienkāršo testēšanu dažādās pārlūkprogrammās , bet arī noņem ievērojamus saderības koda fragmentus . Tas tieši veicina mazāku jQuery 4 faila lielumu, īpaši pēc tam, kad ir noņemtas Internet Explorer specifiskās filiāles.

Drošība: uzticami veidi un stingrāka CSP saskaņošana

Papildus pārlūkprogrammu atbalstam jQuery 4 atbilst arī mūsdienu drošības prasībām lielos ražošanas izvietojumos . Daudzas organizācijas tagad lielā mērā paļaujas uz satura drošības politiku (CSP), lai samazinātu pakļautību starpvietņu skriptēšanas (XSS) uzbrukumiem, un jQuery iekšējām sistēmām bija nepieciešami atjauninājumi, lai tās darbotos tīri saskaņā ar stingrākiem noteikumiem.

Virsraksta maiņa ir atbalsts uzticamiem tipiemKad vietne īsteno tādus noteikumus kā require-trusted-types-for 'script', tikai vērtības, kas ietvertas noteiktos uzticamos tipos (piemēram, TrustedHTML) var tikt injicēts sensitīvās DOM iztekās. Iepriekšējās jQuery versijas varēja netīšām pārkāpt šos ierobežojumus dažos API ceļos, radot berzi komandām, kas cenšas pastiprināt savu CSP.

Sākot ar 4.0 versiju, HTML saturu, kas ietverts kā TrustedHTML, tagad var nodot jQuery DOM manipulācijas metodēm, neizraisot politikas pārkāpumus. Bibliotēka ir auditēta, lai, ja iespējams, tā darbotos ar uzticamiem tipiem, nevis cīnītos pret tiem.

Vēl viens saistīts pielāgojums ietekmē asinhronā skripta ielādi. jQuery tagad dod priekšroku standarta izveidei <script> tagi daudziem asinhronajiem skriptu pieprasījumiem, nevis paļaujoties uz iekļautajām konstrukcijām. Šī maiņa palīdz izvairīties no CSP kļūdām iestatījumos, kas aizliedz iekļauto JavaScript, kas arvien biežāk rodas pastiprinātās izvietošanās gadījumā.

No AMD līdz ES moduļiem un jaunai būvēšanas plūsmai

Zem pārsega jQuery 4 kā galveno moduļu formātu izmanto ES moduļus , atstājot aiz sevis vecāku AMD struktūru, kas ilgi nodrošināja tā būvēšanas ķēdi. Tas saskaņo projektu ar standarta moduļu sistēmu, uz kuras balstās mūsdienu JavaScript.

RequireJS vietā projekts tagad izmanto Apkopojums ES moduļa avota grupēšanaiKomandām, kas integrē jQuery mūsdienu rīku ķēdēs, tas nozīmē, ka bibliotēka dabiskāk iederas kopā ar citām ESM balstītām atkarībām un to var tieši izmantot, izmantojot <script type="module"> attiecīgā gadījumā.

Ir pielāgoti arī testi: uz moduļiem balstītā versija tiek testēta atsevišķi , lai ESM būvējumam raksturīgās problēmas varētu pamanīt jau agrīnā stadijā. Tas ir īpaši svarīgi izstrādātājiem, kuri vēlas importēt tikai jQuery daļas pielāgotās pakotnēs vai kuri standartizē savu koda bāzi, izmantojot ESM semantiku.

No darbības viedokļa izplatīšana nav būtiski mainījusies. Jaunā versija ir pieejama, izmantojot oficiālo jQuery CDN un npm , un trešo pušu CDN to parasti laika gaitā pārņem. Esošajiem CI cauruļvadiem vai izvietošanas procesiem tas nozīmē minimālu berzi, pārejot no iepriekšējās 3.x versijas uz jaunajām versijām.

Garš noņemto un novecojušo API saraksts

Ja agrākās mazākās versijas maigi mudināja izstrādātājus atteikties no vecajiem modeļiem, jQuery 4 beidzot noņem daudzas API, kas gadiem ilgi bija atzīmētas kā novecojušas . Mērķis ir paļauties uz iebūvētajām JavaScript funkcijām, kuras jau nodrošina katra atbalstītā pārlūkprogramma.

Starp pārcelšanās pakalpojumiem ir komunālie pakalpojumi, piemēram, jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.type, jQuery.now, jQuery.isNumeric, jQuery.isFunction, jQuery.isWindow, jQuery.camelCase, jQuery.nodeName, jQuery.cssNumber, un jQuery.cssPropsŠīs funkcijas sākotnēji aizpildīja nepilnības nekonsekventās pārlūkprogrammu implementācijās, taču tās lielā mērā dublē to, ko pati valoda piedāvā tagad.

Praksē, paredzams, ka koda bāzes aizstās šos palīgus ar to vietējiem ekvivalentiem: Array.isArray() vietā jQuery.isArray, JSON.parse() kur jQuery.parseJSON kādreiz bija, String.prototype.trim() Nomainīt jQuery.trim, un Date.now() forums jQuery.now, cita starpā. Migrācija šajā virzienā parasti padara kodu pārnesamāku un mazāk saistītu ar jQuery specifisku uzvedību.

Iekšējā pusē, masīvu metodes, piemēram, push, sort, un splice ir noņemti no jQuery prototipaTie faktiski bija iekšējie palīgi, kas nejauši tika atklāti, un to noņemšana paskaidro, ka izstrādātājiem vajadzētu izturēties pret jQuery kolekcijām atšķirīgi no vienkāršiem masīviem, pat ja tiem dažkārt ir virspusējas līdzības.

Visa šī tīrīšana apvienojumā ar īpašo burtu koda atmešanu vecākām Internet Explorer versijām samazina bibliotēkas aizņemto vietu par vairāk nekā 3 kilobaitiem gzip formātā . Vietnēm, kurām rūp katrs kilobaits, tas ir ievērojams ietaupījums, īpaši apvienojumā ar citām optimizācijām.

Standarta konstrukcija, plāna konstrukcija un faila lieluma samazināšana

Faila lielums vienmēr ir bijis daļa no diskusijām par jQuery, un 4. versija turpina tendenci uz vienkāršāku kodolu . Saīsinātā standarta versija tagad sver nedaudz mazāk par 80 KB, salīdzinot ar aptuveni 88 KB jQuery 3.7.1 versijā.

Tievā versija ir paredzēta vidēm, kurām nav nepieciešams Ajax vai animācijas atbalsts . Noņemot šos moduļus, jQuery 4 tievās versijas apjoms vēl vairāk samazinās, vienā pārskatā sasniedzot aptuveni 56 KB, bet citā — aptuveni 19.5 KB gzip formātā, atkarībā no tā, kādus rādītājus un saspiešanas datus aplūko. Jebkurā gadījumā virziens ir skaidrs: mazāk mantotu elementu, mazāki pakotņu izmēri.

Papildus Ajax un animācijai, jaunajā laidienā plānajā versijā nav iekļauti arī atliktie uzdevumi un atzvanīšanas uzdevumi . Ņemot vērā, ka vietējās solījumu funkcijas tagad tiek labi atbalstītas visās mērķa pārlūkprogrammās, izņemot IE11, komanda bija pārliecināta, ka lielākā daļa asinhrono modeļu var tieši paļauties uz iebūvētajiem valodas primitīviem.

Izstrādātāji, kas dod priekšroku pilnai API virsmai, joprojām var izvēlēties standarta versiju, taču projektiem, kas vēlas samazināt lietderīgo slodzi, ir vairāk iespēju nekā iepriekš . Arvien stingrākos veiktspējas budžetos, īpaši mobilajās ierīcēs, iespēja izvēlēties saīsinātu variantu ir praktiska priekšrocība.

Fokusēšanas un izpludināšanas notikumi tagad atbilst W3C specifikācijai

Viena no smalkākajām, bet ietekmīgākajām uzvedības izmaiņām jQuery 4 ir saistīta ar fokusēšanas un aizmiglošanas notikumiem lietotāja saskarnes elementos . Vēsturiski pārlūkprogrammas nebija vienisprātis par precīzu šo notikumu aktivizēšanas secību, kā rezultātā radās grūti izsekojamas neatbilstības.

Lai ar to tiktu galā, agrākās jQuery versijas ignorēja vietējo notikumu secību , lai nodrošinātu vienotu secību, pat ja tas nozīmēja novirzīšanos no mainīgajiem standartiem. Izstrādātāji veidoja kodu, balstoties uz šiem pieņēmumiem, bieži vien neapzinoties, ka darbība atšķiras no tā, ko pārlūkprogrammas pakāpeniski standartizēja.

Tagad, kad W3C specifikācija definē konsekventu secību focus, focusin, focusout un blurmūsdienu pārlūkprogrammas lielākoties ir konverģējušas uz šo modeli. Reaģējot uz to, jQuery 4 noņem savu veco ignorēšanas loģiku un ļauj dominēt vietējai notikumu secībai visās atbalstītajās pārlūkprogrammās, saskaņojot to ar pašreizējo specifikāciju.

Pozitīvais ir tas, ka uzvedība kļūst paredzamāka visā ekosistēmā . Negatīvais ir tas, ka kods, kas balstījās uz iepriekšējo jQuery secību, tagad var darboties atšķirīgi, iespējams, parādot negaidītus malas gadījumus formās vai sarežģītās lietotāja interfeisa mijiedarbībās. Šī ir viena no jomām, kur testu veikšana un atjauninātā jQuery Migrate spraudņa izmantošana jaunināšanas laikā var būt īpaši noderīga.

Vieglāka bibliotēka, taču ne visi ir vienisprātis par tās lomu

Tāpat kā ar jebkuru ilgstoši pastāvošu tehnoloģiju, viedokļi par jQuery vietu 2026. gadā ir krasi atšķirīgi . Dažiem izstrādātājiem secinājums ir vienkāršs: ja jūs sākat pilnīgi jaunu tīmekļa lietojumprogrammu, kas paredzēta modernām pārlūkprogrammām, šķiet, ka nav liela iemesla ieviest jQuery vispār.

Kritiķi bieži norāda uz veiktspējas un atkarības problēmām . Dzimtā JavaScript versija parasti ir ātrāka un neprasa pievienot desmitiem kilobaitu bibliotēkas koda. Vecākas jQuery versijas arī mēdz palikt neaizlāpotas ražošanas vietnēs, un, kā ziņots, ievērojama daļa tīmekļa joprojām izmanto desmit gadus vecus 2.x laidienus.

No otras puses, daudzi praktiķi apgalvo, ka jQuery joprojām ir efektīvs un pragmatisks rīks ikdienas darbā . Lai gan tādi ietvari kā React vai Vue dominē lielās vienas lapas lietojumprogrammās, jQuery var būt vienkāršāks risinājums pakāpeniskiem uzlabojumiem, klasiskām vairāku lappušu vietnēm vai ātrai prototipu izveidei, kur pilna komponentu cauruļvada izveide šķiet pārmērīga.

Joprojām ir izstrādātāji, kas jQuery raksturo kā vienu no nedaudzajām JavaScript bibliotēkām, kas šķiet vienmēr patīkama lietošanā , īpaši DOM manipulācijai un notikumu apstrādei. Tās kodolīgā sintakse, ķēdē savienojamās metodes un sen iedibinātās idiomas var samazināt standarta valodas lietošanu un saglabāt mazus skriptus lasāmus.

Šī perspektīvu atšķirība nozīmē, ka jQuery 4, visticamāk, tiks interpretēts dažādi: daži to interpretēs kā elegantu mantota rīka modernizāciju, bet citi - kā minimālas apkopes laidienu izgaistošam laikmetam . Realitāte ir tāda, ka daudzas ražošanas vietnes turpina to izmantot neatkarīgi no tā, vai tas ir iekļauts jaunās projektu veidnēs.

Reālās pasaules lietojums: kad jQuery joprojām ietaupa laiku

Papildus abstraktiem argumentiem, ikdienas izstrādes stāsti parāda, kā jQuery joprojām var atrisināt noteiktas problēmas ar ļoti nelielu koda daudzumu . Viens piemērs ir animētu, pārslēdzamu veidlapu lauku izveide, kur daži ievades dati tiek parādīti tikai tad, kad citi ir atlasīti vai atzīmēti.

Šajā gadījumā izstrādātājs sākotnēji mēģināja radīt šādu darbību ar vienkāršu JavaScript , žonglējot ar vairākiem notikumu klausītājiem, CSS pārejām un laika problēmām. Pēc vairākiem mēģinājumiem skripts bija izaudzis līdz vairāk nekā piecdesmit rindām un joprojām cieta no sacensības apstākļiem, kuros animācijas konfliktēja vai aktivizējās nepareizā secībā.

Galu galā vilšanās ņēma virsroku, un kā atkarība tika pievienota jQuery 4. Izmantojot tās notikumu apstrādes un animācijas utilītas, tas pats efekts tika atkārtots tikai dažās koda rindās. Kompromiss bija vienkāršs: papildu ~80 KB bibliotēka apmaiņā pret daudz vienkāršāku ieviešanu un iespēju pāriet uz citām funkcijām.

Šādi scenāriji izceļ, kāpēc bibliotēkas ilgstošais moto “rakstīt mazāk, izdarīt vairāk” joprojām rezonē ar dažām komandām . Pat vietējo API un sarežģītu ietvaru laikmetā ir brīži, kad nelielu skriptu, kas papildināts ar jQuery, ir ātrāk izveidot un vieglāk uzturēt nekā pilnībā pielāgotu risinājumu.

Protams, tas nenozīmē, ka katrs projekts gūst labumu no jQuery iekļaušanas. Mūsdienu JavaScript un DOM API ir konsekventāki nekā agrāk , HTML5 un ECMAScript standarti ir mazinājuši galvassāpes starp pārlūkprogrammām, un daudzām vienas lapas lietojumprogrammām labāk varētu būt piemērots ietvars vai nekāda bibliotēka. Svarīgi ir ne tik daudz tas, ka jQuery ir universāli nepieciešams, bet gan tas, ka tas joprojām ir noderīga iespēja, ja problēma un ierobežojumi sakrīt.

No būtiskas abstrakcijas līdz standarta bibliotēkas lomai

Lai saprastu, kāpēc jQuery 4 koncentrējas uz sašaurināšanu, nevis pārveidošanu, ir lietderīgi atcerēties, cik atšķirīga izskatījās ainava, kad parādījās bibliotēka . Pirms divām desmitgadēm pārlūkprogrammas bieži vien atšķīrās JavaScript un DOM uzvedības interpretācijā, padarot pat pamata mijiedarbību nestabilu.

Šajā vidē jQuery daudzām komandām nebija īsti izvēles iespēja . Tā apvienoja Ajax izsaukumus, DOM atlasi, notikumu apstrādi un animāciju vienā konsekventā API, ļaujot izstrādātājiem uzticēties, ka kods darbosies līdzīgi pārlūkprogrammās IE, Firefox, Safari un vēlāk arī Chrome. Šī konsekvence bija kritiski svarīga laikā, kad Microsoft bieži vien īstenoja savas idejas ar Internet Explorer un gaidīja, ka citi sekos.

Kopš tā laika standartu institūcijas un pārlūkprogrammu pārdevēji ir vienojušies par HTML5, modernām ECMAScript versijām un daudz labāku saskaņošanu starp pārlūkprogrammām . Chrome dzinējs un tā atvasinājumi dominē tirgū, un pārlūkprogrammu pamata iespējas ir daudz augstākas nekā tad, kad jQuery pirmo reizi izplatījās izstrādātāju aprindās.

Tā rezultātā jQuery mūsdienās piedāvā ne tik daudz nesaderības problēmu risināšanu, bet vairāk darbību kā ērtu, pazīstamu “standarta bibliotēku” virs JavaScript . Tās funkciju ķēžu stils un kodolīgās idiomas veicina atvieglotu, gandrīz funkcionālu DOM ietilpīga koda strukturēšanas veidu, pat ja pamatā esošā valoda nav tīri funkcionāla.

Izstrādātājiem, kuri ir iepazinušies tikai ar mūsdienīgiem rīkiem, jQuery ietekmes dziļumu var viegli nepamanīt . Daudzi bibliotēkas ieviestie vai popularizētie modeļi ir atgriezušies valodā un pašos DOM API. Šajā ziņā jQuery 4 nemēģina atgūt zaudēto teritoriju, bet gan saglabāt bibliotēku saskaņotu ar ekosistēmu, kas tai ir izveidojusies.

Kopumā izmaiņas jQuery 4.0.0 versijā — sākot ar IE10 atteikšanos un beidzot ar ES moduļu, uzticamo tipu un šaurāka API komplekta ieviešanu — atspoguļo projektu, kas apzināti attīstās, neatstājot novārtā miljoniem vietņu, kas joprojām no tā ir atkarīgas . Šī versija nemēģina tieši konkurēt ar modernajiem ietvariem, taču tā sniedz komandām, kas turpina izmantot jQuery, versiju, kas jūtas kā mājās mūsdienu pārlūkprogrammu un rīku vidē, vienlaikus atstājot iespēju pakāpeniskai migrācijai, ja tas ir lietderīgi.

ataque generalizado de la cadena de suministro de NPM
Saistītais raksts:
Plaši izplatīts NPM piegādes ķēdes uzbrukums satricina JavaScript ekosistēmu
Related posts: