डेवलपर को आने वाली मुख्य समस्याओं के बारे में अहम जानकारी का कलेक्शन. इसे कई लोगों से की गई बातचीत के आधार पर इकट्ठा किया गया है.
कुछ महीने पहले, पॉल किनलन ने 2021 में डेवलपर को होने वाली मुख्य समस्याओं के बारे में पोस्ट किया था. इसलिए, इस लेख की शुरुआत पिछली दो तिमाहियों के अपडेट से करना सही रहेगा. रैंकिंग में कोई बदलाव नहीं हुआ है, लेकिन नंबर थोड़े बदल गए हैं.
| चुनौती | साल 2021 की पहली तिमाही | साल 2021 की दूसरी तिमाही | साल 2021 की तीसरी तिमाही | साल 2021 की चौथी तिमाही |
|---|---|---|---|---|
| वेब प्लैटफ़ॉर्म या वेब स्टैंडर्ड में होने वाले बदलावों के साथ तालमेल रखना. | 27% | 26% | 27% | 22% |
| कई नए और मौजूदा टूल या फ़्रेमवर्क के साथ काम करना. | 26% | 26% | 25% | 21% |
| किसी डिज़ाइन या अनुभव को सभी ब्राउज़र पर एक जैसा बनाना. | 26% | 28% | 24% | 21% |
| अलग-अलग ब्राउज़र पर टेस्ट करना. | 23% | 24% | 20% | 20% |
| सुरक्षा से जुड़े उपायों को समझना और उन्हें लागू करना. | 23% | 25% | 20% | 19% |
जैसा कि पॉल की ब्लॉग पोस्ट में बताया गया है, हमें इन समस्याओं को हल करना होगा. इस दिशा में बड़े पैमाने पर काम करने के लिए, मेरे साथी कादिर तोपाल और मैंने 18 से ज़्यादा डेवलपर का इंटरव्यू लिया. हमारा मकसद, डेवलपर की मुख्य समस्याओं की जांच करना और उन्हें ठीक करने के तरीके ढूंढना है.
डेवलपर के साथ चर्चाएं
डिसक्लेमर: यह जानकारी, डेवलपर के साथ की गई कुछ बातचीत पर आधारित है. "सभी" या "कुछ" शब्दों का इस्तेमाल, इंटरव्यू में शामिल डेवलपर के लिए किया गया है, न कि पूरी कम्यूनिटी के लिए. इन अहम जानकारी को ज़्यादा बड़े पैमाने पर लागू करने के लिए, ज़्यादा रिसर्च की ज़रूरत है.
इन बातचीत से हमें यह याद आया कि वेब डेवलपर कम्यूनिटी कितनी शानदार और अलग-अलग तरह की है. हम उन सभी डेवलपर को धन्यवाद देना चाहते हैं जिन्होंने हमसे बात की. कुछ डेवलपर के पास 25 साल से ज़्यादा का अनुभव था, जबकि कुछ ने 2020 में ही शुरुआत की थी. कुछ डेवलपर ने कंप्यूटर साइंस की डिग्री हासिल करके अपने करियर की शुरुआत की, जबकि कुछ ने खुद से सीखकर अपने करियर की शुरुआत की. कुछ डेवलपर, नई चीज़ों के बारे में जानने के लिए ब्राउज़र के रिलीज़ नोट पढ़ते हैं. वहीं, कुछ डेवलपर अपने साथियों और दोस्तों से नई चीज़ों के बारे में सीखते हैं. कुछ लोगों को लगता है कि मुश्किल काम करना उनकी नौकरी का हिस्सा है और उन्हें चुनौतियां पसंद होती हैं. वहीं, कुछ लोग सिर्फ़ अपना काम पूरा करना चाहते हैं. इन समस्याओं को हल करते समय, हमें इस विविधता को ध्यान में रखना ज़रूरी है!
सभी डेवलपर में एक बात आम है कि वे अपना काम करने के लिए, कॉन्टेंट मैनेजमेंट सिस्टम या फ़्रेमवर्क का इस्तेमाल करते हैं. Wordpress, React, Bootstrap, Angular, और Tailwind का ज़िक्र किया गया. हालांकि, किसी भी डेवलपर ने प्रोडक्शन में वैनिला वेब प्लैटफ़ॉर्म का इस्तेमाल नहीं किया. कोई प्रोजेक्ट शुरू करते समय फ़्रेमवर्क चुनना एक चुनौती है. डेवलपर अक्सर ऐसी ज़रूरतों को ध्यान में रखते हैं जो तकनीकी नहीं होती हैं. उदाहरण के लिए, क्या उस फ़्रेमवर्क के साथ काम करने के लिए डेवलपर को आसानी से हायर किया जा सकता है. अगर समाधान में फ़्रेमवर्क और सीएमएस शामिल नहीं हैं, तो हम डेवलपर की समस्याओं को कम नहीं कर सकते.
वेब प्लैटफ़ॉर्म की बात करें, तो ज़्यादातर डेवलपर इसे एक ऐसे प्लैटफ़ॉर्म के तौर पर समझते हैं जिस पर वे काम करते हैं. इसमें वेब प्लैटफ़ॉर्म की क्लासिकल परिभाषा के साथ-साथ, सीएमएस, फ़्रेमवर्क, टूल, और पॉलीफ़िल भी शामिल हैं. कई मामलों में, इन बदलावों के साथ अप-टू-डेट रहना सबसे मुश्किल होता है. इससे उस सवाल को लेकर हमारी समझ बदल गई. अब हमें पता है कि हमें अपने सर्वे को अपडेट करना होगा, ताकि उसे अलग-अलग हिस्सों में बांटा जा सके. इससे सर्वे को समझने में आसानी होगी.
वेब स्टैंडर्ड की परिभाषा को लेकर भी भ्रम की स्थिति है. जब हमने मानकों को पूरा करने के उदाहरणों के बारे में पूछा, तो कई डेवलपर ने बताया कि सबसे सही तरीकों को अपनाना मुश्किल होता है. सर्वे में हमें इस बारे में भी जानकारी देनी होगी.
डेवलपर, इस्तेमाल के खास उदाहरणों और पैटर्न को लागू करते समय सबसे सही तरीके खोजते हैं. सबसे सही तरीकों के सोर्स के तौर पर, ब्लॉग पोस्ट और StackOverflow का ज़िक्र किया गया है. हालांकि, डेवलपर अक्सर यह सोचते हैं कि वे जो जानकारी पढ़ रहे हैं वह वाकई सबसे सही तरीका है या नहीं. साथ ही, क्या वह नई सुविधाओं और एपीआई के हिसाब से अप-टू-डेट है या नहीं. वे इन्हें पढ़ने के लिए, किसी आधिकारिक सोर्स को ज़्यादा पसंद करते हैं.
नई सुविधाओं और एपीआई के साथ अप-टू-डेट रहना, एक छोटी समस्या है. डेवलपर को सुविधाओं, एपीआई, और प्लैटफ़ॉर्म में होने वाले बदलावों को समझने में ज़्यादा परेशानी होती है. इन बदलावों की वजह से, सबसे सही तरीकों में भी बदलाव होता है.
ज़्यादातर डेवलपर इस बात से सहमत हैं कि अलग-अलग डिवाइसों के साथ काम करने वाले ऐप्लिकेशन बनाना, सबसे बड़ी चुनौतियों में से एक है. Compat 2021 और Interop 2022 जैसी कोशिशों से चीज़ें बेहतर हो रही हैं. हालांकि, यह साफ़ है कि डेवलपर को अब भी नहीं लगता कि यह समस्या हल हो गई है.
ज़्यादातर डेवलपर किसी न किसी तरह से पॉलीफ़िल का इस्तेमाल करते हैं. हालांकि, कई मामलों में डेवलपर को यह पता नहीं होता कि polyfill का इस्तेमाल किया जा रहा है. ऐसा इसलिए, क्योंकि Babel जैसे टूल या फ़्रेमवर्क की मदद से, polyfill को अपने-आप जोड़ा जा सकता है. जो लोग अपने पॉलीफ़िल खुद मैनेज करते हैं उनके लिए यह पता लगाना मुश्किल हो सकता है कि कोई पॉलीफ़िल "अच्छा" है या नहीं. डेवलपर ने बताया कि वे एनपीएम पर इंस्टॉल की संख्या और पॉलीफ़िल के क्रिएटर को सिग्नल के तौर पर इस्तेमाल करते हैं. कुछ डेवलपर ने बताया कि उन्होंने उन पॉलीफ़िल को हटाने का काम किया जो IE 11 के लिए सहायता बंद होने की वजह से ज़रूरी नहीं रह गए थे.
फ़्रेमवर्क की वजह से, फ़्रैगमेंटेशन की समस्याएं आती हैं. हमें ऐसी शिकायतें मिली हैं जिनमें डेवलपर ने बताया है कि वे किसी फ़्रेमवर्क के पुराने वर्शन का इस्तेमाल करने के लिए "मजबूर" हैं. इस वजह से, वे सीमित सुविधाओं का ही इस्तेमाल कर पा रहे हैं. हालांकि, उसी फ़्रेमवर्क के नए वर्शन पर माइग्रेट करना महंगा हो सकता है और इसके लिए सही वजह बताना मुश्किल हो सकता है.
नतीजा
आधुनिक वेब डेवलपमेंट में कई चीज़ें शामिल हैं. जैसे, स्टैंडर्ड, ब्राउज़र, लाइब्रेरी, पॉलीफ़िल, सीएमएस, फ़्रेमवर्क, सबसे सही तरीके, और टूल. यह विविधता, वेब की सबसे अच्छी चीज़ों में से एक है. हालांकि, फ़िलहाल हर डेवलपर को यह समझना होगा कि हर कॉम्पोनेंट का क्या मतलब है और वे एक-दूसरे के साथ कैसे काम करते हैं.
मुझे लगता है कि डेवलपर को यह समझाने का कोई तरीका होना चाहिए कि सभी चीज़ें एक-दूसरे से कैसे जुड़ी हैं. साथ ही, सभी चीज़ों के बीच ज़्यादा अलाइनमेंट होना चाहिए. हालांकि, इसके लिए विविधता से समझौता नहीं किया जाना चाहिए. यह एक बड़ी और जटिल समस्या है. इसे एक बार में हल करना मुश्किल है. लेकिन, शुरुआत कहां से करें?
अगर आपको अपने विचार और राय शेयर करनी है. मुझे भी आपसे बात करके अच्छा लगेगा. मैं सीधे तौर पर बातचीत बुक करने का तरीका सेट अप करूंगी. हालांकि, इस बीच Twitter पर मेरे डीएम खुले हैं. हमसे संपर्क करें और हम चैट करने के लिए समय निकाल सकते हैं!