Challenges for web developers

मैंने मूल रूप से व्यापक डेवलपर पारिस्थितिक तंत्र की चुनौतियों को स्पष्ट करने के लिए लिखा है कि मेरी टीम (क्रोम और वेब डेवलपर संबंध) को संबोधित करने की आवश्यकता है ताकि हम उद्योग को बढ़ने में मदद कर सकें, ताकि हम वेब पर अधिक लोगों को बनाने में सहायता कर सकें और मदद कर सकें डेवलपर्स ऐसे अनुभव बनाते हैं जो अधिक लोगों को उपयोग करना पसंद करते हैं।

[वेब और क्रोम देवरेल घोषणापत्र] साझा करने के बाद (/ वेब-डेवलपर-संबंध-घोषणापत्र /) मैं कुछ चुनौतियों पर अपने विचार साझा करने की गति को बनाए रखना चाहता हूं जिसे हम डेवलपर्स को हल करने में मदद करना चाहते हैं।

मैंने वास्तव में इस लेख को शिप नहीं किया था, लेकिन अब मेरे पास कुछ समय है और यह नया साल है, मैंने सोचा कि यह वास्तव में इसे साझा करने का एक अच्छा समय होगा।

चुनौतियों को समझना जो डेवलपर्स हर दिन सामना करते हैं, मुझे यह समझने में मदद करता है कि हम जितना संभव हो उतने डेवलपर्स की मदद के लिए काम करने के तरीके को बदल सकते हैं।

मुझे आपकी प्रतिक्रिया पसंद आएगी। क्या मै गलत हु? क्या आप किसी भी व्यापक पारिस्थितिक तंत्र के मुद्दों को देखते हैं जिन्हें मैंने याद किया है?

मैं इन मुद्दों में से कई से गहन लेख बनाउंगा।

वेब विकास शुरू करना आसान है, लेकिन प्रगति और मास्टर बनाना मुश्किल है

  • परिवर्तनीय एपीआई समर्थन और विक्रेता प्राथमिकताएं लगातार अनुभवों को बनाने के लिए कठिन या असंभव अनुभव बनाती हैं। * विरासत के विचार, उदाहरण के लिए, पुराने सीएमएस, मौजूदा कार्यान्वयन का मतलब है कि एक बड़ी गति है जिसे दूर करने की जरूरत है। * प्लेटफॉर्म क्विर्क और कॉम्पैट समस्याएं बड़ी मात्रा में निराशा और अतिरिक्त परीक्षण की अनावश्यक मात्रा का कारण बनती हैं। * बड़ी संख्या में अमूर्तताएं पैदा की जा रही हैं जो डेवलपर्स को प्लेटफॉर्म की समझ से दूर ले जाती हैं। * एप-जैसे इंटरैक्शन के लिए प्लेटफॉर्म-स्तरीय प्राइमेटिव्स की कमी: विचार, मॉडल, नियंत्रक, रीसाइक्लिंग, नायक संक्रमण, संक्रमण देखें। * वेब डेवलपर्स को सब कुछ अच्छा होना चाहिए: ऑफ़लाइन, अभिगम्यता, स्थानीयकरण, प्रदर्शन, सुरक्षा ...

डेवलपर्स पीडब्लूए के बारे में उत्साहित हो रहे हैं, लेकिन वे बनाना मुश्किल और कड़ी मेहनत कर सकते हैं

  • पीडब्ल्यूए के लिए मुख्य ब्राउज़र समर्थन की कमी से बिल्डिंग को औचित्य साबित करना मुश्किल हो जाता है * अंत में अंत में एक प्रगतिशील वेब ऐप बनाने में बहुत मुश्किल होती है। एचटीटीपीएस, सेवा श्रमिकों के साथ शुरुआत करना मुश्किल है। * पीडब्लूए का मूल्य विशेष रूप से ओएस (सफारी, डेस्कटॉप इत्यादि) में स्पष्ट रूप से स्पष्ट नहीं है और यह इसे अपनाने के बारे में एक आसान कारण नहीं है। * "अनुकरणीय पीडब्ल्यूए" बनाना लगभग असंभव है और कोई भी वास्तव में परवाह नहीं करता है कि उन्हें चाहिए। * डेवलपर्स को अक्सर फिर से शुरू करना होता है और अपने मौजूदा अनुभवों को माइग्रेट नहीं करना पड़ता है। * डेवलपर्स और व्यवसाय नहीं जानते कि उन्हें एक प्रगतिशील वेब ऐप क्यों बनाना चाहिए। * मौजूदा वेब ऐप्स की ढूँढथाम एक बड़ी समस्या है। * "प्रगतिशील" मूल्यवान नहीं है। विभिन्न वेब ब्राउज़र / ऑपरेटिंग सिस्टम से अनुपलब्ध एक सतत अनुभव / सुविधाओं की पेशकश करना मुश्किल है * निर्मित किए जा रहे प्रगतिशील वेब ऐप्स उत्तरदायी नहीं हैं और इस प्रकार रखरखाव लागत में वृद्धि करते हैं क्योंकि आपको एक अलग डेस्कटॉप साइट की देखभाल करनी है

एक अच्छी तरह से कामकाजी अनुभव (यूआई / यूएक्स) बनाने के लिए बहुत मुश्किल है

  • डेवलपर्स के लिए पर्याप्त पर्याप्त बार रास्ता बहुत कम है। अच्छा क्या है? यह महत्वपूर्ण क्यों है? तुम्हें वहां कैसे मिलता है? * घटकों का निर्माण करते समय एक खराब अभिनेता बनना आसान है, ए 11 वाई, लेआउट और प्रदर्शन डेवलपर्स द्वारा प्राथमिकता और प्राथमिकता के लिए कठिन हैं * डेवलपर्स को वेब घटकों और प्लेटफार्म टूल्स में मूल्य नहीं दिखता है ताकि वे जल्दी से निर्माण कर सकें * कई ढांचे लेखकों विश्वास न करें कि वेब घटकों का उपयोग किया जाना चाहिए और यह सही हो सकता है या नहीं भी हो सकता है - यह डेवलपर्स के लिए बिल्कुल स्पष्ट नहीं है * डेवलपर यूआई दर्द को दूर करने के लिए बूटस्ट्रैप की तरह यूआई ढांचे चाहते हैं और उन्हें उत्पाद पर ध्यान केंद्रित करने देता है * प्राइमेटिव्स कई अनुभवों को बनाने और अच्छी तरह से निर्माण करने के लिए बहुत मुश्किल हैं: मेनू, एनएवी, संक्रमण, टेकओवर, डेटा बाध्यकारी, विचार, नियंत्रक * प्रदर्शन अनुभवों को बनाना मुश्किल है - Primitives एक मुद्दा है (मंच में डेवलपर्स की आवश्यकता नहीं है, या वे वहां हैं लेकिन कोई भी जानता है या परवाह नहीं करता है) * एपीआई की तरह एनिमेशन के लिए असमान समर्थन डेवलपर्स के लिए नए प्लेटफॉर्म प्राइमेटिव को अपनाने के लिए असंभव बनाता है - प्राइमेटिव सामान्य रूप से मौलिक और लगभग पॉलीफ के लिए असंभव होते हैं इल

एक तेज साइट बनाने के लिए बहुत मुश्किल है

  • वेब डेवलपर धीमे अनुभवों का निर्माण कर रहे हैं जिनमें भयानक यूएक्स है और वे उपलब्ध नहीं हैं। वे बेहतर करना चाहते हैं लेकिन वे नहीं जानते कि कैसे * डेवलपर्स और व्यवसाय प्रदर्शन को प्राथमिकता नहीं देते हैं क्योंकि उनके व्यापार पर होने वाले प्रभाव के बारे में कोई नया स्पष्ट मार्गदर्शन नहीं है * डेवलपर्स समझ में नहीं आता कि साइट धीमी क्यों है * यह एक तेज़ लोडिंग साइट बनाने के लिए बहुत मुश्किल है - कई फुटगन्स और कई ब्राउज़र्स हैं * डेवलपर्स को यह नहीं पता कि उन्हें किस लक्ष्य के लिए लक्ष्य रखना है * डेवलपर्स के पास उनके लिए निर्धारित लक्ष्यों तक पहुंचने के लिए मार्गदर्शन नहीं है (पीआरपीएल पैटर्न, मार्ग-आधारित चंकिंग, इस समय स्ट्रीमिंग चिंताएं हैं और कंक्रीट डॉक्स आदि नहीं हैं) * डेवलपर टूलींग और फ्रेमवर्क डिफ़ॉल्ट रूप से तेज़ नहीं होते हैं और डेवलपर्स को पता नहीं है या परवाह नहीं है - बंडलिंग एक बड़ी समस्या है - डीएक्स & gt; यूएक्स * डेवलपर्स हार्डवेयर पर परीक्षण नहीं करते हैं कि उनके उपयोगकर्ता चलते हैं और इस तरह यह "पर्याप्त अच्छा" लगता है * डेवलपर्स के पास उनके उपयोगकर्ता आधार के बारे में सारी जानकारी नहीं है और उनके निर्णय उनके प्रभाव पर हैं * डेवलपर्स लोड प्रदर्शन को प्राथमिकता देते हैं "पृष्ठ में" प्रदर्शन को प्राथमिकता देने से अधिक * आपकी साइट यूआई को सभी उपकरणों पर आसानी से संचालित करने के लिए बहुत मुश्किल है * सार्वजनिक परफ शर्मनाक बढ़ रहा है और डेवलपर्स को देखभाल से दूर रख रहा है * डेवलपर्स महसूस करते हैं कि हम उन्हें सिर पर मार रहे हैं हर समय और इस तरह बंद करें

एक सुरक्षित साइट बनाने के लिए बहुत मुश्किल है

  • HTTP के लिए माइग्रेशन तकनीक के कई नए टुकड़ों को गोद लेने के लिए एक अवरोधक है * डेवलपर्स और व्यवसायों को अपनी साइट को सुरक्षित बनाने की आवश्यकता नहीं दिखती है (यानी, मुझे इसे समाचार साइट के लिए क्यों चाहिए?) * सेट करना मुश्किल है एचटीटीपीएस ऊपर * डेवलपर्स के लिए एचटीटीपीएस साइट स्थापित करने के लिए यह अभी भी महंगा हो सकता है - हर कोई LetsEncrypt का उपयोग नहीं कर सकता है। बड़ी और छोटी साइटों को निजीकृत के लिए बहुत अधिक भुगतान करना पड़ रहा है * डेवलपर्स सीएसपी जैसे "सुरक्षित प्रौद्योगिकियों" के मूल्य को नहीं समझते हैं और वे कम गोद ले रहे हैं

व्यवसाय और डेवलपर्स नहीं जानते कि उन्हें "वेब" क्यों होना चाहिए

  • मोबाइल वेब पर किसी उपयोगकर्ता को कनवर्ट करना मुश्किल है, इसलिए पैसा बनाना मुश्किल है * व्यवसाय के मामलों और जरूरतों को क्षेत्र, लंबवत और दर्शकों द्वारा अलग-अलग किया जाता है, इसलिए बहुत अधिक निवेश किए बिना सार्थक तरीके से आवेदन करना मुश्किल होता है * क्षमताओं की स्पष्ट कमी ऐसा लगता है कि आपको वेब का उपयोग नहीं करना चाहिए * वेब सिर्फ ऐप मॉडल पर जा रहा है, इसलिए क्यों न केवल 'ऐप' करें • कुंजी एपीआई के लिए क्रॉस-ब्राउज़र समर्थन की कमी से व्यवसायों के लिए अपने निवेश को उचित ठहराना मुश्किल हो जाता है * यह नहीं है जब कई प्रतिस्पर्धी प्लेटफार्म होते हैं तो वेब के मूल्य को साफ़ करें

वेब गड़बड़ है और डेवलपर्स को बहुत दर्द होता है

  • ब्राउज़र अक्सर वेब प्लेटफार्म के जोड़ों या सामरिक हटाने के माध्यम से बदल रहे हैं और वे नहीं जानते कि क्या हो रहा है, कैसे अद्यतित रहना है या कैसे बदला जाए। इससे डेवलपर्स दर्द होता है * क्रोम लगातार अपने "हस्तक्षेप" के साथ मंच को तोड़ रहा है * ब्राउज़र अपडेट चक्र अनिश्चितता और "स्थानांतरण रेत" बनाते हैं * प्लेटफॉर्म प्लेयर सभी गठबंधन नहीं होते हैं। सफारी, यूसी, एज और अलग-अलग प्राथमिकताओं हैं * डेवलपर्स को सब कुछ हर जगह काम करना है (आईओएस से यूसी ब्राउज़र तक) और उनके पास अपने फैसले का बैक अप लेने के लिए टूल, मार्गदर्शन या डेटा है

वेब एक जीवंत पारिस्थितिकी तंत्र है, लेकिन शोर है

  • प्रत्येक दिन बड़ी संख्या में राय उत्पन्न की जा रही है और यह भी परिभाषित किया जा रहा है कि यह न तो सटीक और न ही संपूर्ण है और डेवलपर्स एक एकीकृत मार्गदर्शिका पेश करने के लिए Google और अन्य लोगों की तलाश में हैं * वहां बड़ी संख्या में उपकरण, पुस्तकालय और ढांचे हैं निर्मित और डेवलपर्स को यह नहीं पता कि क्या चुनना है * Google की बड़ी संख्या में ढांचे हैं और डेवलपर्स निश्चित नहीं हैं कि इसका उपयोग किस प्रकार किया जाए * हम बहुत सारी सामग्री बनाते हैं और इसे समान रूप से प्रस्तुत नहीं किया जाता है * प्रतिस्पर्धात्मक टूल और डेवलपर्स के बहुत सारे नहीं हैं पता है कि उन्हें किस प्रकार उपयोग करना चाहिए * प्रतिस्पर्धात्मक ढांचे के बहुत सारे और डेवलपर्स नहीं जानते कि उन्हें किसका उपयोग करना चाहिए * प्रतिस्पर्धात्मक सलाह और डेवलपर्स के बहुत सारे नहीं जानते कि उन्हें किस पर पालन करना चाहिए या भरोसा करना चाहिए

वेब वैश्विक है

  • डेवलपर्स सिर्फ अंग्रेजी बोल नहीं रहे हैं। कई डेवलपर्स उन देशों से आ रहे हैं जिन्हें हमने कभी लक्षित नहीं किया है: चीन, भारत, इंडोनेशिया, थाईलैंड, पाकिस्तान आदि; और हमें उनकी मदद करने की ज़रूरत है * कई पश्चिमी डेवलपर्स 'लाइट' अनुभवों की फसल को 'उभरते बाजार' के रूप में देख रहे हैं और वे उच्च-निष्ठा नहीं हैं

अपडेट 1 (23-जनवरी-2018) संपादित करें: पृष्ठ के शीर्ष पर एक नोट जोड़ना।

2 संपादित करें (28-जनवरी-2018): कुछ बिट्स साफ करना।

About Me: Paul Kinlan

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.