Վերադառնալ
Թողարկվել է htmx 4.0.0-ը՝ ութ ամսվա աշխատանքի արդյունքը
SiTech AI Team2 წთ. საკითხავი

Թողարկվել է htmx 4.0.0-ը՝ ութ ամսվա աշխատանքի արդյունքը

htmx-ի թիմը հրապարակել է 4.0.0 տարբերակը. ներքին մեխանիզմը XMLHttpRequest-ից տեղափոխվել է fetch(), ատրիբուտների ժառանգումը դարձել է բացահայտ, իրադարձությունները ստանդարտացվել են։

Օգոստոսի 28-ին htmx-ի թիմը թողարկել է 4.0.0 տարբերակը՝ ութ ամսվա աշխատանքի արդյունքը, ասվում է հայտարարության մեջ։ htmx-ը գրադարան է, որը հնարավորություն է տալիս կառուցել ինտերակտիվ ինտերֆեյսներ՝ ընդլայնելով HTML ատրիբուտները՝ մեծ ծավալի JavaScript գրելու փոխարեն. 4.0-ը նոր գծի առաջին խոշոր թողարկումն է։

Ինչպես սկսվեց վերաշարադրումը

Հեղինակի խոսքով՝ htmx 4-ի գաղափարը ծնվել է fixi անունով առանձին գրադարան ստեղծելիս և JavaScript-ի fetch() API-ի ու ասինխրոն ծրագրավորմանը ավելի մոտիկից ծանոթանալիս։ htmx-ը հետընթաց համատեղելիության պատճառով միշտ օգտագործել է XMLHttpRequest։ streaming HTML-ի շուրջ զրույցը կոնտրիբյուտոր Քրիստիանի հետ համոզեց նրան, որ ներքին մեխանիզմը fetch()-ին տեղափոխելը կպարզեցնի գրադարանը. աշխատանքին միացան Մայքլը և Ալեքսը, և այն սկսվեց fixi-ի փոխադրումից ու htmx-ի թեստային հավաքածուից։

Երեք հիմնական փոփոխություն

Օգտատիրոջ տեսանկյունից htmx 4-ը շատ մոտ է htmx 2-ին, սակայն երեք բան փոխվում է։ Առաջինը՝ ատրիբուտների ժառանգումն այժմ ոչ թե ենթադրվող է, այլ բացահայտ. ծնող տարրից երեխա տարրերին ատրիբուտ փոխանցելու համար պետք է ավելացնել :inherited վերջածանցը, իսկ անհրաժեշտ տեղերը գտնելու համար թիմը թողարկել է հրամանի տողի գործիք՝ npx [email protected] upgrade-check։

Երկրորդը՝ իրադարձությունների անունները ստանդարտացվել են htmx:phase:action սխեմայով. htmx:beforeRequest-ը դառնում է htmx:before:request։ Սխալների իրադարձությունների մեծ մասը միավորվել է htmx:error-ի մեջ, HTTP սխալների համար գործում է htmx:response:error։

Երրորդը՝ պատմության աջակցությունն այլևս էջերը չի քեշավորում localStorage-ում։ Հետ վերադառնալիս htmx-ը նորից է բեռնում էջը և տեղադրում այն body-ի մեջ կամ [hx-history-elt] տարրի մեջ։ Փոփոխությունը լուծում է վաղեմի խնդիր, երբ երրորդ կողմի սկրիպտների DOM փոփոխությունները վերականգնվում էին առանց դրանց JavaScript տրամաբանության։ Ովքեր ցանկանում են լոկալ քեշավորում, կարող են ավելացնել hx-history-cache ընդլայնումը՝ sessionStorage-ի վրա։

Նոր հնարավորություններ և ընդլայնումներ

Չորրորդ տարբերակը ներառում է morph փոխարինումներ՝ հիմնված idiomorph ալգորիթմի վրա, և նոր պիտակ, որն ավելի պարզ է, քան out-of-band փոխարինումները, երբ նպատակը մեկ տարրը իր նոր տարբերակով փոխարինելուց ավելին է։ fetch()-ին անցումը թույլ տվեց վերաիմաստավորել ընդլայնումների համակարգը. հայտնվեցին hx-preload, hx-download, hx-alpine-compat և hx-history-cache, թարմացվեցին streaming ընդլայնումները՝ hx-sse, hx-ws և hx-multipart։ Ավելացվեց նաև hx-live՝ փոքր ֆրոնտենդ սկրիպտինգի լուծում, և htmax.js փաթեթը, որն htmx-ը հավաքում է ամենահայտնի ընդլայնումների հետ մեկ ֆայլում։

Հասանելիություն և աջակցություն

htmx 4.0.0-ը կարելի է տեղադրել փաթեթների կառավարիչով կամ բեռնել CDN-ից։ Ծրագիրը դիտավորյալ 4.0-ը npm-ում «latest» չի նշել, որպեսզի չստիպի թարմացնել նրանց, ովքեր օգտագործում են առանց տարբերակի CDN հղումներ. 2.x-ը մնում է latest, իսկ 4.0 գիծը կմնա «next» պիտակի վրա մինչև 2027 թվականի սկիզբը։ htmx 2-ի աջակցությունը կշարունակվի անժամկետ, և թիմը հրապարակել է skill ֆայլեր նաև AI կոդի օգնականների համար՝ htmx 4-ով աշխատանքի, վրիպազերծման և 2.x-ից միգրացիայի համար։

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։