HeadlinesBriefing favicon HeadlinesBriefing.com

htmx 4.0 जारी: मुख्य परिवर्तन और माइग्रेशन

Hacker News •
×

htmx टीम ने 8 महीने के काम के बाद संस्करण 4.0.0 जारी किया है। यह विचार fixi बनाने से उत्पन्न हुआ, जिससे fetch() API और async प्रोग्रामिंग की गहरी समझ विकसित हुई। JavaScript पहले पिछड़े संगतता मुद्दों के कारण XMLHttpRequest पर निर्भर था। Christian के साथ एक आकस्मिक संपर्क ने HTML स्ट्रीमिंग में रुचि जगाई, जिससे आंतरिक रूप से fetch() की ओर बदलाव हुआ। Michael और Alex की मदद से, टीम ने fixi और htmx टेस्ट सूट को पोर्ट किया, यह पुनः खोजा कि htmx ने कई काम क्यों इस तरह किए, और नए कार्यान्वयन को पुराने के साथ निकटता से संरेखित किया।

2.x और 4.x के बीच व्यवहार में अंतर अपेक्षाकृत छोटे हैं, जिनमें शताब्दी-पुरानी वेब सेवाओं का समर्थन करने के लिए जानबूझकर चुनाव किए गए हैं। विशेष रूप से, 4.0 को NPM पर latest के रूप में चिह्नित नहीं किया गया है ताकि गैर-संस्करणित CDN पर निर्भर उपयोगकर्ताओं को अपग्रेड करने के लिए मजबूर न किया जाए। इसके बजाय, 2.x latest बना रहता है, जबकि 4.0 2027 की शुरुआत तक next के रूप में रहता है। वेबसाइट 4.0 का संदर्भ देगी।

तीन मुख्य परिवर्तन सामने आते हैं। पहला, विशेषता इनहेरिटेंस अब स्पष्ट है: htmx 2 में, hx-confirm जैसी विशेषताएं डिफ़ॉल्ट रूप से इनहेरिट होती थीं; 4.0 में, आपको :inherited जोड़ना होगा (उदाहरण: hx-confirm:inherited)। यह सबसे बड़ा माइग्रेशन बोझ है, लेकिन एक कमांड-लाइन टूल आवश्यक परिवर्तनों की पहचान करने में मदद करता है, और hx-disinherit की अब आवश्यकता नहीं है। दूसरा, इवेंट नाम htmx:phase:action[:sub-action] प्रारूप में मानकीकृत हैं (उदाहरण: htmx:before:request के बजाय htmx:beforeRequest)। तीसरा, इतिहास समर्थन अब डिफ़ॉल्ट रूप से localStorage का उपयोग नहीं करता, जिसे अधिकांश उपयोगकर्ता नोटिस नहीं करेंगे। आंतरिक रूप से, XMLHttpRequest से fetch() में माइग्रेशन उपयोगकर्ताओं के लिए पारदर्शी है।

अतिरिक्त परिवर्तन: अधिकांश त्रुटि इवेंट htmx:error में विलीन हो जाते हैं, HTTP त्रुटियां htmx:response:error ट्रिगर करती हैं, htmx:xhr:* इवेंट हटा दिए जाते हैं, और htmx:validation:* इवेंट को ब्राउज़र की मूल सत्यापन द्वारा प्रतिस्थापित किया जाता है। अपग्रेड चेकर hx-on विशेषताओं और JavaScript में पुराने इवेंट नामों को चिह्नित करता है। कुल मिलाकर, htmx 4.0 आंतरिक को आधुनिक बनाते हुए और व्यवहार को स्पष्ट करते हुए संगतता बनाए रखता है।

मुख्य संस्थाएं: कंपनियां: htmx, fixi | लोग: Christian, Michael, Alex

सामान्य प्रश्न: htmx 4.0 में सबसे बड़ा परिवर्तन क्या है?

सबसे बड़ा परिवर्तन यह है कि विशेषता इनहेरिटेंस अब स्पष्ट है। htmx 2 में, hx-confirm जैसी विशेषताएं डिफ़ॉल्ट रूप से इनहेरिट होती थीं; 4.0 में, आपको इसे सक्षम करने के लिए :inherited (उदाहरण: hx-confirm:inherited) जोड़ना होगा। एक कमांड-लाइन टूल उन स्थानों को खोजने में मदद करता है जिन्हें इस परिवर्तन की आवश्यकता है।