वेब डेवलपमेंट का मुख्य सिद्धांत: न्यूनतम विशेषाधिकार का सिद्धांत
- वेब डेवलपमेंट के मुख्य सिद्धांतों में से एक, 'न्यूनतम विशेषाधिकार का सिद्धांत', का मतलब है किसी दिए गए उद्देश्य के लिए उपयुक्त सबसे निम्न-स्तर की भाषा चुनना.
- HTML, CSS, JS में HTML सबसे अधिक पसंद किया जाता है, उसके बाद CSS, और अंत में JS आता है.
- JS सबसे बहुमुखी है, लेकिन इसमें लोड फेल होना, अतिरिक्त resources की खपत, accessibility समस्याएँ जैसी जोखिम भी हैं.
कस्टम स्विच
- डिज़ाइन आवश्यकताओं के अनुसार सामान्य checkbox के बजाय कस्टम स्विच लागू करते समय, JS की जगह
:checked pseudo-class का उपयोग करते हुए HTML और CSS से इसे बनाया जा सकता है.
- ब्राउज़र label के अंदर मौजूद input element को अपने-आप जोड़ देता है और उसे clickable बनाता है, जिससे अतिरिक्त JS handler के बिना भी toggle फ़ंक्शनैलिटी मिलती है.
नेटिव ऑटो-कम्प्लीट फ़ीचर: Datalist
- JavaScript के बजाय ब्राउज़र की built-in सुविधा
datalist का उपयोग करके ऐसा फ़ीचर बनाया जा सकता है जो उपयोगकर्ता के टाइप करते ही options को अपने-आप filter करके दिखाए.
- उपयोगकर्ता अपनी इच्छित value दर्ज कर सकता है, या ब्राउज़र द्वारा जोड़े गए dropdown icon पर क्लिक करके सभी options देख सकता है.
नेटिव color picker
- जटिल JS से बने color picker के बजाय, एक ही HTML line से लागू होने वाला नेटिव color picker इस्तेमाल किया जा सकता है.
- Chrome-आधारित ब्राउज़रों में स्क्रीन पर कहीं से भी रंग चुनने की अतिरिक्त सुविधा भी मिलती है.
accordion
details और summary elements का उपयोग करके सामग्री को तब तक छिपाया जा सकता है जब तक उपयोगकर्ता को उसकी ज़रूरत न हो, और इससे पेज की संरचना बेहतर होती है.
open attribute का उपयोग करके accordion items में से किसी एक को डिफ़ॉल्ट रूप से खुला रखा जा सकता है.
इंटरैक्टिव modal
dialog element का उपयोग करके ऐसा modal बनाया जा सकता है जो उपयोगकर्ता को जानकारी दे या उससे input मांगे.
- JS का उपयोग modal खोलने के लिए किया जाता है, लेकिन बाकी सब नेटिव HTML और CSS से संभाला जा सकता है.
निष्कर्ष
- यह लेख दिखाता है कि कम JS का उपयोग करके, और CSS व HTML की क्षमताओं का बेहतर उपयोग करके, अधिक बेहतर वेबसाइट बनाई जा सकती है.
- accessibility को ध्यान में रखते हुए नए implementation तरीकों का परीक्षण करना महत्वपूर्ण है.
GN⁺ की राय
- इस लेख का सबसे महत्वपूर्ण बिंदु यह है कि वेब डेवलपमेंट में JS पर निर्भर हुए बिना HTML और CSS की क्षमताओं का अधिकतम उपयोग करके performance और accessibility को बेहतर बनाया जा सकता है.
- वेब डेवलपर्स के लिए यह इसलिए दिलचस्प है क्योंकि यह उन फ़ीचर्स को, जिन्हें पहले केवल JS से संभव माना जाता था, अधिक सरल और कुशल तरीकों से लागू करने के नए तरीके सुझाता है.
1 टिप्पणियां
Hacker News टिप्पणियाँ
यह इंगित किया गया कि JavaScript की बेहतर compatibility की वजह से कुछ खास क्षेत्रों में उसके उपयोग का उल्लेख छूट गया था
appearanceproperty के उपयोग पर MDN कई सावधानियाँ बताता है, खासकरappearance: noneके उपयोग के लिए thorough testing की सिफारिश करता हैdatalistFirefox Android में काम नहीं करता और सिर्फ एक साधारण input box की तरह दिखता हैdetailsऔरdialogकी consistency की कमी को स्वीकार करता हैइस बात पर हैरानी जताई गई कि 2023 में भी forms और user data input से जुड़ी सामान्य user experience (UX) समस्याएँ बनी हुई हैं
datalistके बारे में पहले पता नहीं था, लेकिन लगता है कि यह Chrome Android में भी ठीक से काम नहीं करताscroll-behavior: smoothका उपयोग करके native smooth scrolling,scroll-snapका उपयोग करके native carousel, और scroll-based animations का उल्लेख<details>का एक फायदा यह है that Ctrl+F से उसके अंदर की सामग्री खोजी जा सकती है, जबकि JavaScript accordion को खोला नहीं जा सकता, लेकिन<details>को खोला जा सकता हैयह राय दी गई कि
datalistinternal tools के अलावा उचित विकल्प नहीं हैयह राय दी गई कि HTML standard का पालन करने पर सब कुछ consistent रहता है और accessibility या translation जैसी चीज़ों पर इसे आसानी से लागू किया जा सकता है
यह इंगित किया गया कि CSS का उपयोग web pages को पढ़ने में कठिन बनाने वाले tool के रूप में किया जा सकता है
web development के एक मुख्य सिद्धांत के रूप में "Rule of Least Power" का उल्लेख