Web Components ठीक हैं
- वेब डेवलपमेंट कम्युनिटी अक्सर Web Components को लेकर बहस करती है
- Ryan Carniato ने "Web Components Are Not the Future" शीर्षक से एक लेख लिखा, और Cory LaViska ने "Web Components Are Not the Future — They’re the Present" लेख के साथ उसका जवाब दिया
- लेखक इस बहस को शांतिपूर्ण तरीके से सुलझाने की कोशिश करता है
प्रदर्शन
- Web Components, Custom Elements पर आधारित हैं, इसलिए सभी इंटरफ़ेस DOM के माध्यम से संभाले जाते हैं
- DOM nodes को न्यूनतम रखना performance optimization की कुंजी है
- लेकिन performance ही सब कुछ नहीं है; maintainability, security, usability, accessibility जैसे अन्य कारकों पर भी विचार करना चाहिए
- उदाहरण के लिए,
aria-* attributes को render न करने से performance बेहतर हो सकती है, लेकिन accessibility के लिए वे अनिवार्य हैं
- performance optimization महत्वपूर्ण है, लेकिन व्यवहार में layout thrashing, network waterfall, अनावश्यक rerendering जैसी अधिक सरल समस्याएँ performance पर उससे भी बड़ा प्रभाव डालती हैं
स्टैंडर्ड्स की लागत
- standards को support करने के लिए अतिरिक्त code लिखना और चलाना पड़ता है
- लेकिन Web Components को support करना कोई बहुत बड़ा बोझ नहीं है
- नए web platform features पर विचार करना स्वाभाविक है, और यही बात Symbols, Proxys, Promises आदि पर भी लागू होती है
- वेब डेवलपमेंट कम्युनिटी का एक हिस्सा Web Components को support नहीं करना चाह सकता है, और यह ठीक है
- वेब एक बड़ा तंबू है जो अलग-अलग approaches की अनुमति देता है
निष्कर्ष
- Web Components अपने आप में समस्या नहीं हैं, लेकिन यह वादा कि वे सब कुछ replace कर सकते हैं, खतरनाक है
- Web Components में server-side rendering, accessibility, interoperability आदि के मामले में कमजोरियाँ हैं
- React, Solid, Svelte जैसे दूसरे frameworks के पास अब भी ऐसे क्षेत्र हैं जहाँ वे चमकते हैं
- वेब का उपयोग कई तरह के उद्देश्यों के लिए होता है, और यह रचनात्मकता व्यक्त करने का अवसर देता है
- हो सकता है Web Components आपके लिए सही न हों, और यह ठीक है
# GN⁺ का सारांश
- यह लेख Web Components पर अलग-अलग दृष्टिकोण प्रस्तुत करता है और performance तथा अन्य तत्वों के बीच संतुलन पर ज़ोर देता है
- Web Components सब कुछ replace नहीं कर सकते, लेकिन वे कुछ खास उपयोगों के लिए उपयुक्त हैं
- वेब डेवलपमेंट कम्युनिटी अलग-अलग approaches की अनुमति देती है, और इससे रचनात्मकता बढ़ती है
- अगर Web Components आपके लिए उपयुक्त नहीं हैं, तो आप दूसरे frameworks का उपयोग कर सकते हैं
- वेब की विविध क्षमताएँ नई रचनात्मक अभिव्यक्ति के अवसर प्रदान करती हैं
1 टिप्पणियां
Hacker News राय
"Web Components Are Not the Future" लेख के बारे में लगा कि इसमें ठोस और प्रभावशाली तर्कों की कमी है
लोग अलग-अलग optimization चाहते हैं, इसलिए राय बंटी हुई है
Svelte, Custom Elements API के ज़रिए Web Components बनाना support करता है
नहीं लगता कि Web Components full-stack developers की ज़िंदगी बेहतर बनाते हैं
Web Components और Shadow DOM, browser extensions के काम में रुकावट डाल सकते हैं
interoperability की एक performance cost होती है
लगता है कि Web Components आज के frontend की समस्याएँ हल कर सकते हैं
250,000 lines के JS codebase को inherited रूप में पाकर उसे Web Components में refactor किया जा रहा है
Web Components, JS के बिना भी काम कर सकते हैं
framework और Web Components अलग-अलग समस्याएँ हल करने वाले tools हैं