मज़बूत फ्रंटएंड बनाने का तरीका: क्रमिक उन्नयन
-
HTML से शुरुआत
- सरकारी सेवाएं केवल HTML के साथ भी कार्यात्मक होनी चाहिए
- HTML लेयर fault-tolerant होती है, इसलिए पुराने browsers में भी काम कर सकती है
- सही semantic markup का उपयोग करें और document structure को तार्किक रूप से व्यवस्थित करें
-
CSS का उपयोग
- CSS का उपयोग करके सेवा को style किया जा सकता है
- CSS लेयर fault-tolerant होती है, जो अलग-अलग declarations को अनदेखा कर सकती है
- 'CSS-in-JS' जैसी तकनीकों से बचना चाहिए
-
JavaScript का उपयोग
- JavaScript का उपयोग interactive elements जोड़ने के लिए किया जाता है
- JavaScript लेयर fault-tolerant नहीं होती और इसमें errors हो सकते हैं
- browser API के लिए feature detection, polyfills शामिल करना, transpiling आदि के जरिए compatibility बढ़ाई जा सकती है
- JavaScript को HTML और CSS का पूरक होना चाहिए
-
JavaScript के विकल्प
- ऐसे सरल solutions पर विचार करना चाहिए जो JavaScript के बिना भी user needs को पूरा कर सकें
- विकल्पों में data tables दिखाना, data export करना, और graphs को image के रूप में pre-render करना शामिल हैं
-
client-side JavaScript framework का उपयोग
- यदि user interface जटिल नहीं है, तो framework के उपयोग से बचना चाहिए
- framework के उपयोग से codebase का आकार बढ़ना, performance समस्याएं, और third-party code dependency जैसी दिक्कतें आ सकती हैं
- framework का उपयोग करने पर हर user interface को अलग component के रूप में डिज़ाइन करना चाहिए
-
CSS या JavaScript के load न होने या execute न होने के कारण
- network errors, browser extensions, third-party vendor downtime, DNS lookup failure, और browser updates से आए bugs इसके कारण हो सकते हैं
- कुछ users जानबूझकर browser features को बंद कर सकते हैं
-
Single Page Application (SPA)
- सेवा को Single Page Application के रूप में नहीं बनाना चाहिए
- SPA accessibility को नुकसान पहुंचा सकती है, और page navigation के दौरान focus handling की समस्या, back/forward buttons का ठीक से काम न करना जैसी दिक्कतें पैदा हो सकती हैं
-
सेवा का परीक्षण
- JavaScript या JavaScript framework पर बहुत अधिक निर्भर components को अलग-अलग browsers और devices पर काम करना चाहिए
- accessibility के लिए परीक्षण किया जाना चाहिए
-
case studies और संबंधित guides
- क्रमिक उन्नयन का उपयोग क्यों करें
- अलग-अलग devices के लिए design
- frontend performance test कैसे करें
- WCAG 2.2 को समझना
GN⁺ का सारांश
- क्रमिक उन्नयन HTML, CSS, JavaScript के क्रम में वेबसाइट बनाने की एक पद्धति है
- यह पद्धति सेवा की fault tolerance बढ़ाती है और उसे अलग-अलग browsers और devices पर काम करने योग्य बनाती है
- JavaScript की भूमिका पूरक होनी चाहिए और वैकल्पिक solutions पर भी विचार करना चाहिए
- accessibility समस्याओं के कारण Single Page Application से बचना चाहिए
- सेवा का परीक्षण अलग-अलग environments में accessibility सुनिश्चित करना चाहिए
1 टिप्पणियां
Hacker News टिप्पणियाँ
JavaScript framework का उपयोग करते समय यह साबित कर पाना चाहिए कि इससे यूज़र को क्या फ़ायदा है
SPA की कमियों के रूप में बताए गए बिंदु
अच्छा होता अगर पूरा इंटरनेट इस सलाह का पालन करता
सरल solutions को प्राथमिकता देनी चाहिए
यह जानने की उत्सुकता है कि सूची में Linux क्यों नहीं है
लगता है बहुत से लोग इस approach को पसंद करते हैं
HTML और server से पहले से लाए गए data का उपयोग करें, और जो काम client पर हो सकता है उसे client पर संभालें
बहुत से SPA समस्याग्रस्त हैं, लेकिन सभी SPA समस्याग्रस्त नहीं होते
server-side rendering भी हर बार अच्छा नहीं होता