חזרה
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 היא המהדורה הגדולה הראשונה של הקו החדש.

איך החל השכתוב

לדברי המחבר, הרעיון ל-htmx 4 צמח בזמן שיצר ספרייה נפרדת בשם fixi והכיר מקרוב את fetch() API ואת התכנות האסינכרוני ב-JavaScript. 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.

יכולות ותוספים חדשים

גרסה 4 כוללת החלפות מורפינג כברירת מחדל, המבוססות על אלגוריתם idiomorph, וכן תג חדש בשם , שהוא ברור יותר מהחלפות out-of-band כשמדובר ביותר מהחלפת רכיב אחד בגרסה חדשה של עצמו. המעבר ל-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 כ״latest״ ב-npm, כדי לא לכפות שדרוג על מי שמסתמך על כתובות CDN בלי מספר גרסה: 2.x נשאר latest וקו 4.0 יישאר בתגית ״next״ עד לתחילת 2027. htmx 2 ימשיך להיות נתמך ללא הגבלת זמן, והצוות פרסם גם קובצי skill לעוזרי קוד מבוססי AI: פיתוח עם htmx 4, דיבוג, כתיבת תוספים והגירה מ-2.x.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.