უკან დაბრუნება
htmx 4.0.0 გამოვიდა — რვა თვის მუშაობის შედეგი
SiTech AI Team2 წთ. საკითხავი

htmx 4.0.0 გამოვიდა — რვა თვის მუშაობის შედეგი

htmx-ის გუნდმა გამოაქვეყნა 4.0.0 ვერსია: შიდა მექანიზმი XMLHttpRequest-იდან fetch()-ზე გადავიდა, ატრიბუტების მემკვიდრეობა ბაზისურად იმპლიციტური აღარ არის, მოვლენები სტანდარტიზდა და დაემატა morph-გადართვები.

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-ის ალგორითმის ბაზაზე და ახალი ტეგი, რომელიც მეტ კონტროლს იძლევა, ვიდრე ერთი ელემენტის მისივე ახალი ვერსიით ჩანაცვლება. fetch()-ზე გადასვლამ გუნდს საშუალება მისცა გადაემუშავებინა გაფართოებების სისტემა: გამოჩნდა hx-preload, hx-download, hx-alpine-compat და hx-history-cache, განახლდა სტრიმინგის გაფართოებები 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-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.