पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम

कई लोग अपने डेवलपमेंट वर्कफ़्लो प्रोसेस में, कॉम्पोनेंट-ड्रिवन डेवलपमेंट का इस्तेमाल करते हैं. इसके लिए, वे पैटर्न स्टाइल गाइड, कॉम्पोनेंट लाइब्रेरी या पूरे डिज़ाइन सिस्टम का इस्तेमाल करते हैं. भले ही, आपने इन टूल का औपचारिक तौर पर इस्तेमाल न किया हो, लेकिन यह मुमकिन है कि आपने वेबसाइट, ऐप्लिकेशन या अन्य डिजिटल प्रॉडक्ट के बड़े डिज़ाइन को मैनेज किए जा सकने वाले हिस्सों में बांटने के लिए, इसी तरह की प्रोसेस का इस्तेमाल किया हो.

किसी फ़िज़िकल स्ट्रक्चर को बनाने की तरह, एक-एक करके कॉम्पोनेंट बनाना ज़रूरी है. सबसे पहले, फ़ाउंडेशन, स्ट्रक्चर, दीवारें, खिड़कियां, छत, और इनके बीच की हर चीज़. कॉम्पोनेंट-ड्रिवन डेवलपमेंट टूल की मदद से, वेबसाइटों, ऐप्लिकेशन, और अन्य डिजिटल प्रॉडक्ट के लिए ऐसा किया जा सकता है.

कॉम्पोनेंट-ड्रिवन डेवलपमेंट के कुछ फ़ायदों में, चीज़ों को मैनेज किए जा सकने वाले हिस्सों में बांटना शामिल है. इससे, दोबारा इस्तेमाल किए जा सकने वाले इन कॉम्पोनेंट के साथ डेवलपमेंट में कम समय लगता है. इससे डिज़ाइनर, फ़्रंटएंड और बैकएंड डेवलपर, और क्यूए एक साथ काम कर सकते हैं. क्लाइंट, डिज़ाइनर, पीएम वगैरह को यह तरीका पसंद आता है, क्योंकि वे बिल्ड प्रोसेस की झलक देख सकते हैं. साथ ही, वेबसाइट लॉन्च होने के बाद, रेफ़रंस के तौर पर लिविंग स्टाइल गाइड का इस्तेमाल कर सकते हैं.

हालांकि, सुलभता को ध्यान में रखते हुए, पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम को देखने पर, कुछ सवाल उठते हैं. सुलभता के मामले में, आपको कैसे पता चलेगा कि कौनसा पैटर्न सबसे अच्छा है? क्या आपको पहले से मौजूद पैटर्न या लाइब्रेरी का इस्तेमाल करना चाहिए या नए पैटर्न और लाइब्रेरी बनानी चाहिए? आपको कैसे पता चलेगा कि ये पैटर्न, आपके उपयोगकर्ताओं के लिए वाकई में मददगार साबित होंगे?

कई विकल्प उपलब्ध होने की वजह से, पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम को लेकर भ्रम हो सकता है. इस मॉड्यूल का मकसद, आपको पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम का आकलन करने के तरीके के बारे में सामान्य जानकारी देना है. साथ ही, यह आपको एक शुरुआती पॉइंट देता है, ताकि आप सुलभता से जुड़े बेहतर विकल्प चुन सकें.

सोच-समझकर फ़ैसले लेना

सुलभ पैटर्न, कॉम्पोनेंट या डिज़ाइन सिस्टम चुनना मुश्किल नहीं है. हालांकि, इसमें समय और सोच-समझकर फ़ैसले लेने की ज़रूरत होती है. असल में, "एकदम सही पैटर्न" जैसी कोई चीज़ नहीं होती. हालांकि, ऐसे कई विकल्प हो सकते हैं जो काम कर सकते हैं. यह आपकी खास स्थिति के लिए सबसे अच्छा विकल्प चुनने के बारे में है.

इसके बाद के टेस्टिंग मॉड्यूल में, आपको पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम का आकलन करने के तरीकों और मेथड के बारे में ज़्यादा जानकारी मिलेगी. इससे पहले, आपको खुद से कुछ बुनियादी सवाल पूछने होंगे, जैसे:

  • क्या पहले से कोई सुलभ पैटर्न, कॉम्पोनेंट या डिज़ाइन सिस्टम मौजूद है?
  • मैं किन ब्राउज़र और सहायक टेक्नोलॉजी (एटी) के साथ काम कर रहा/रही हूं?
  • क्या कोड या फ़्रेमवर्क से जुड़ी कोई पाबंदी है? क्या मुझे अन्य इंटिग्रेशन, फ़ैक्टर या उपयोगकर्ता की ज़रूरतों पर ध्यान देना चाहिए?

अपने डेवलपमेंट एनवायरमेंट और उपयोगकर्ता की ज़रूरतों के हिसाब से, आपके पास इनसे अलग या ज़्यादा सवाल हो सकते हैं. सुलभता के आकलन में, इन सवालों को शुरुआती पॉइंट के तौर पर देखें.

पहले से मौजूद संसाधन

कोई नई चीज़ बनाने से पहले, अपनी पूरी कोशिश करें और देखें कि सुलभ पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम के मामले में पहले से क्या मौजूद है. थोड़ी रिसर्च करने पर, आपको अपनी ज़रूरतों के हिसाब से एक या उससे ज़्यादा समाधान मिल सकते हैं.

सुलभ पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम के लिए कुछ बेहतरीन संसाधन:

JavaScript फ़्रेमवर्क के लिए, ये संसाधन डिफ़ॉल्ट रूप से काफ़ी सुलभ होते हैं या इन्हें सुलभता के लिए पसंद के मुताबिक बनाया जा सकता है:

हालांकि, इस बात पर ज़ोर देना ज़रूरी है कि आपको कभी भी सिर्फ़ कोड को कॉपी/पेस्ट नहीं करना चाहिए और यह नहीं मान लेना चाहिए कि यह आपके एनवायरमेंट के हिसाब से होगा और उपयोगकर्ता की ज़रूरतों को अपने-आप पूरा करेगा. यह सभी पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम पर लागू होता है. भले ही, उन्हें पूरी तरह से सुलभ बताया गया हो.

सभी संसाधनों को शुरुआती पॉइंट के तौर पर देखा जाना चाहिए. हर चीज़ की जांच करना न भूलें!

ब्राउज़र और सहायक टेक्नोलॉजी (एटी) के साथ काम करना

कुछ बुनियादी पैटर्न, कॉम्पोनेंट या पूरे डिज़ाइन सिस्टम पर रिसर्च करने के बाद, जो आपके डेवलपमेंट एनवायरमेंट के लिए काम कर सकते हैं, सहायक टेक्नोलॉजी के साथ काम करने की सुविधा पर जाएं. पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम का आकलन करते समय, आपको एटी के एक अहम टाइप, स्क्रीन रीडर पर फ़ोकस करना होगा.

स्क्रीन रीडर, खास ब्राउज़र को ध्यान में रखकर बनाए गए थे. ये इन ब्राउज़र के साथ मिलकर बेहतर तरीके से काम करते हैं. हम एटी की टेस्टिंग वाले मॉड्यूल में इस विषय के बारे में ज़्यादा जानकारी देंगे. हालांकि, पैटर्न के आकलन के लिए, यह समझना ज़रूरी है कि ये कॉम्बिनेशन मौजूद हैं, ताकि आपको पता हो कि आपको सहायता के मामले में क्या चाहिए.

स्क्रीन रीडर ओएस ब्राउज़र के साथ काम करना लागत
Job Access with Speech (JAWS) Windows Chrome, Firefox, Edge लाइसेंस ज़रूरी है (40 मिनट का मुफ़्त वर्शन मौजूद है)
Non-Visual Desktop Access (NVDA) Windows Chrome और Firefox मुफ़्त (डाउनलोड करना ज़रूरी है)
Narrator Windows Edge मुफ़्त (Windows वाले कंप्यूटर में पहले से मौजूद)
VoiceOver macOS Safari मुफ़्त (macOS वाले कंप्यूटर में पहले से मौजूद)
Orca Linux Firefox मुफ़्त (Gnome पर आधारित डिस्ट्रिब्यूशन में पहले से मौजूद)
TalkBack Android Chrome और Firefox मुफ़्त (Android ओएस के कुछ वर्शन में पहले से मौजूद)
VoiceOver iOS Safari मुफ़्त (iOS डिवाइसों में पहले से मौजूद)

ब्राउज़र के साथ काम करने की सुविधा आम तौर पर जटिल होती है. एटी डिवाइस और ARIA की खास जानकारी जोड़ने पर, यह और भी मुश्किल हो जाती है.

हालांकि, यह पूरी तरह से बुरी खबर नहीं है. शुक्र है कि HTML5 Accessibility, Accessibility Support, और WCAG's Custom Control Accessible Development Checklist जैसे बेहतरीन संसाधन, हमें मौजूदा ब्राउज़र और एटी डिवाइस के साथ काम करने की सुविधा को बेहतर तरीके से समझने में मदद करते हैं. साथ ही, यह भी समझने में मदद करते हैं कि ARIA का इस्तेमाल कब करना चाहिए.

इन संसाधनों में, उपलब्ध अलग-अलग एचटीएमएल और ARIA पैटर्न के सब-एलिमेंट की जानकारी दी गई है. इनमें, ओपन-सोर्स कम्यूनिटी के टेस्ट भी शामिल हैं. डेस्कटॉप, मोबाइल ब्राउज़र, और एटी डिवाइसों के लिए, पैटर्न के कुछ उदाहरण भी देखे जा सकते हैं. इसलिए, ये संसाधन आपको पैटर्न, कॉम्पोनेंट, और डिज़ाइन सिस्टम के बारे में ज़्यादा सुलभ फ़ैसला लेने में मदद कर सकते हैं, जिनका इस्तेमाल किया जा सकता है.

दूसरी ज़रूरी बातें

सुलभ बुनियादी पैटर्न या कॉम्पोनेंट चुनने और ब्राउज़र और एटी डिवाइस के साथ काम करने की सुविधा को ध्यान में रखने के बाद, पैटर्न, कॉम्पोनेंट, डिज़ाइन सिस्टम, और डेवलपमेंट एनवायरमेंट के बारे में ज़्यादा खास कॉन्टेक्चुअल सवालों पर जाएं.

उदाहरण के लिए, अगर आप कॉन्टेंट मैनेजमेंट सिस्टम (सीएमएस) में काम कर रहे हैं या आपके पास लेगसी कोड है, तो पैटर्न के इस्तेमाल से जुड़ी कुछ पाबंदियां हो सकती हैं. समीक्षा करने पर, पैटर्न के कई विकल्पों को तुरंत एक या दो विकल्पों तक सीमित किया जा सकता है.

कई JavaScript फ़्रेमवर्क, डेवलपर को अपनी पसंद का कोई भी पैटर्न इस्तेमाल करने की अनुमति देते हैं. ऐसे मामलों में, आपके पास कम पाबंदियां हो सकती हैं और सबसे सुलभ पैटर्न विकल्प चुना जा सकता है.

पैटर्न, कॉम्पोनेंट या डिज़ाइन सिस्टम चुनते समय, कुछ अन्य बातों का भी ध्यान रखना ज़रूरी है, जैसे:

  • परफ़ॉर्मेंस
  • सुरक्षा
  • खोज इंजन ऑप्टिमाइज़ेशन
  • अलग-अलग भाषाओं में अनुवाद पाने की सुविधा
  • तीसरे पक्ष के इंटिग्रेशन

इन फ़ैक्टर का असर, पैटर्न चुनने पर पड़ेगा. हालांकि, आपको कॉन्टेंट और कोड बनाने वाले लोगों के बारे में भी सोचना चाहिए. चुना गया पैटर्न इतना मज़बूत होना चाहिए कि वह एडिटर या उपयोगकर्ता के जनरेट किए गए कॉन्टेंट से जुड़ी किसी भी संभावित पाबंदी को हैंडल कर सके. साथ ही, इसे इस तरह से बनाया जाना चाहिए कि सुलभता के बारे में जानकारी रखने वाले सभी डेवलपर इसका इस्तेमाल कर सकें.