जैसा कि दूसरों ने उल्लेख किया है, यह व्यापार-नापसंद और सही ज्ञान होने की बात है।
एकमात्र ऐसी गड़बड़ी जिस पर आप विचार करना चाहते हैं, वह यह है: आपने अपने प्रश्न में उल्लेख किया है कि आप वेब को "क्रॉस-प्लेटफॉर्म" के रूप में एक लाभ के रूप में देखते हैं। लेकिन क्या यह वास्तव में है? इसे इस तरह से सोचें: यदि आप डेस्कटॉप के लिए कुछ विकसित करते हैं, तो आपको प्लेटफार्मों की सूची और समर्थन करने के लिए उनकी आवश्यकताओं को परिभाषित करने की आवश्यकता है।
कोई गलती न करें, यह वेब के लिए समान है। और भले ही यह पहले से ही काफी सरल था, अगर आप एक व्यापक सार्वजनिक ऐप डिज़ाइन करते हैं, तो आपको हर वेब ब्राउज़र के हर संभव संस्करण से निपटना होगा। और अगर यह एक एंटरप्राइज़ ऐप का अधिक है, तो अपने आप को ब्रेस करें और अपने समर्थित ब्राउज़र प्लेटफ़ॉर्म की आवश्यकताओं का बहुत सटीक रूप से मसौदा तैयार करने के लिए तैयार करें।
लगता है कि यदि आप कुछ महत्वपूर्ण निर्माण करते हैं तो आप यहां और वहां प्लेटफॉर्म-विशिष्ट हैक करने से बचेंगे।
और फिर मज़ा भागों। सबसे अच्छा क्या है? ऐसे ब्राउज़र जो खुद को लगभग नियमित रूप से क्रोम की तरह नियमित रूप से अपडेट करते हैं? या जो रोल-आउट सुरक्षा अद्यतन केवल मासिक और प्रमुख विशेषताएं हर पत्थर की उम्र (जैसे IE)? उत्तर उतना स्पष्ट नहीं है जितना आप सोच सकते हैं, क्योंकि इनमें से कुछ "पारदर्शी" अपडेट आपके कोड को तोड़ सकते हैं, और आपको इसका अनुसरण करने और तुरंत प्रतिक्रिया करने की आवश्यकता होगी। विकास और परीक्षण करते समय बीटा और देव पूर्व-रिलीज पर नज़र रखें। सभी ब्राउज़रों के लिए आपने मूर्खतापूर्ण रूप से कहा कि आप समर्थन (सौभाग्य) चाहते थे।
ओह और आइए यूआई के विचारों को न भूलें। आपको यह निर्णय लेने की खुशी का भी सामना करना पड़ता है कि क्या आप अपने सभी लक्ष्य प्लेटफार्मों के साथ संगत UI ACROSS चाहते हैं , या लगातार UI के साथप्रत्येक मेजबान का लक्ष्य मंच। उन सभी छोटे बटनों को देखें जिन्हें आप वेब-पेज पर देख सकते हैं? क्या आप चाहते हैं कि वे हर जगह एक समान हों, या आपके उपयोगकर्ता द्वारा उपयोग किए जाने वाले पर्यावरण के साथ एकीकरण करें? बेशक यह समस्या नई नहीं है और अन्य विकास मॉडल के लिए मौजूद है, लेकिन यह यहां अधिक महत्वपूर्ण लगता है, और उन उपयोगकर्ताओं के प्रकार पर निर्भर करता है जिन्हें आप लक्षित करते हैं और वे क्या उम्मीद करते हैं। सार्वजनिक अंत-उपयोगकर्ता आपको उनके प्लेटफ़ॉर्म के साथ एकीकृत करना चाहते हैं - लेकिन फिर भी आप "वाह!" उन्हें फैंसी सामान के साथ - जबकि एंटरप्राइज़ उपयोगकर्ता कुछ ऐसा चाहेगा जो डेस्कटॉप ऐप जैसा दिखता है। और मोबाइल प्लेटफॉर्म्स के पास इस सब के लिए एक नया आयाम था।
पिछले 2 पैराग्राफ के लिए, एक सामान्य विचार कभी-कभी आपके इंस्टॉलर के साथ पूर्व-कॉन्फ़िगर वेब-ब्राउज़र को पैकेज करने के लिए होता है, जो तब आपके वेब-ऐप (स्थानीय रूप से होस्ट या वेब पर) से जुड़ता है। यह बहुत अच्छा है क्योंकि आप अपडेट आवृत्ति को नियंत्रित करते हैं और आप राज्य को "फ्रीज" कर सकते हैं और आपको पता है कि वास्तव में क्या समर्थन और परीक्षण करना है। इसके अलावा आप समर्पित उपयोगकर्ता एक्सटेंशन की तरह शांत सामान जोड़ सकते हैं। उदाहरण के लिए, छोटे क्रोम एक्सटेंशन के साथ "जमे हुए" क्रोमियम की पैकेजिंग करें, जिसे आपने विभिन्न प्रकार के उपयोगकर्ताओं के लिए अपने वेब-ऐप के उपयोग को आसान बनाने के लिए विकसित किया है। दूसरी ओर ... यदि आप सुरक्षा चक्र भंग करते हैं तो आप अब ज़िम्मेदार हैं क्योंकि आप रिलीज़ चक्र को रोक देते हैं, और आपके ऐप को गति में सुधार (यदि कोई हो) का लाभ नहीं होगा।
कई चीजों की तरह, यह एक दोहरी धार वाली कुल्हाड़ी है।
नोट: मेरे पास वेब के खिलाफ एक मजबूत पूर्वाग्रह है मूल रूप से आधे पके हुए प्रौद्योगिकियों का एक बड़ा ढेर होने के कारण (और मैं यहां विनम्र हूं), ओएसआई परतों के नीचे, जिस पर हम वास्तव में हल करने के तहत आने वाली समस्याओं को छुपाते हुए बकवास की परतों को जोड़ते रहते हैं। या उन्हें ठीक कर रहा है।
कहा जा रहा है, मैं एक मंच के रूप में अपने सर्वव्यापी प्रकृति के लिए वेब के पक्ष में हूं । मुझे लगता है कि आपकी कंपनी की चाल सही है (शायद)। यह आपके लक्षित बाजार और आपके द्वारा लक्षित प्लेटफार्मों पर निर्भर करता है, जाहिर है। यदि आप एक सेवा के रूप में कुछ उजागर करना चाहते हैं, तो आप शायद जाने के लिए अच्छे हैं (हालांकि यह आवश्यक नहीं है)। यदि आप नहीं करते हैं, तो शायद इसके कई कारण नहीं हैं।
हम्म, और भविष्य में अब कुछ मजेदार घटनाक्रमों की उम्मीद करते हैं कि मौजूदा ऑपरेटिंग सिस्टम के अधिक हल्के वजन वाले संस्करण मोबाइल वातावरण (नेटबुक, स्मार्टफोन, पीडीए, टैबलेट, ई-बुक्स ...) के लिए कम रोशनी रखते हैं, हल्के एम्बेडेड ब्राउज़रों का उपयोग करने पर अधिक जोर देते हैं। .. लेकिन UI रेंडरिंग ग्लिट्स के अपने सभी नए हिस्से के साथ।
प्लगइन-आधारित प्रौद्योगिकियों के बारे में ... मैं कहूंगा कि उनसे दूर जाना चाहिए। वे आपके ऐप की शक्ति को बढ़ाएंगे, लेकिन इसके बाजार में प्रवेश को सीमित कर देंगे। कुछ मामलों में आप इसे क्रॉस-प्लेटफ़ॉर्म समर्थन के संदर्भ में प्लस के रूप में देखेंगे, जब तक कि कोई नया प्लेटफ़ॉर्म अचानक उनका समर्थन करने से इनकार नहीं करता। वेब मानक यहां एक कारण के लिए हैं (एचटीएमएल 5 में सब कुछ के बारे में बहुत उत्साहित होने के लिए सावधान रहें या यह आपके चेहरे पर उड़ सकता है)।
संपादित करें: अन्य बातों पर विचार करने के लिए ...
भरती
यह अत्यंत कठिन जानकार वेब डेवलपर्स खोजने के लिए। आपको लगता है कि उनमें से एक झुंड है, लेकिन वे एक बड़े पूल में खो गए हैं, ठीक है, काफी अक्षम लोग जो सोचते हैं कि उनके फॉर्म में कुछ सत्यापन को लागू करने के लिए जावास्क्रिप्ट / ECMAScript की 700 लाइनें लिखने में कामयाब रहे हैं, सभी का अंत है और उच्च स्तर के कौशल के मामले में सभी प्राप्त किया जा सकता है।
मैं मजाक नहीं कर रहा हूं, हाल ही में सभी वेब-विकास साक्षात्कारों के लिए मेरा पहला सवाल यह है कि कैसे एक चर घोषित किया जाए, और फिर उपयोग करने var
या न करने के बीच एक अंतर है (वे कैसे जवाब देते हैं इसके आधार पर)। यह निराशाजनक है। मुझे औसत या उन्नत वेब डेवलपर ढूंढने की तुलना में एक औसत या उन्नत वेब डेवलपर ढूंढना बहुत कठिन लगता है।
अनुभूति
जब आप कहते हैं कि "मैं एक वेब डेवलपर हूं" तो कोई भी आपको गंभीरता से विचार नहीं करेगा। यह प्रोग्रामर, डेवलपर्स के एक उप-वर्ग के लिए है, है ना? जिन्हें आप अनदेखा करते हैं और दूर से ही उनका मजाक उड़ाते हैं, और जब वे कॉफी लेने जाते हैं तो शामिल नहीं होते हैं। :)
यह स्पष्ट रूप से असत्य है, लेकिन यह इस तथ्य से नीचे आता है कि आप एक ऐसे वातावरण के लिए विकसित होते हैं जो ज्यादातर आपके लिए प्रबंधित होता है। ब्राउज़र आपके खराब किए गए मार्कअप को ठीक कर देते हैं, आपकी खराब हो चुकी शैलियों को, और उनमें से कुछ के लिए अपनी खराब हो चुकी स्क्रिप्टिंग को भी ठीक कर देंगे और यदि आप चाहें तो इसे आपके लिए अनुकूलित कर सकते हैं। और यदि आप एक वेब डेवलपर हैं, तो लोग मानेंगे कि आपके पास निचले स्तर की प्रोग्रामिंग के बारे में कोई सुराग नहीं है, इसलिए आपको एक पूर्ण बेवकूफ होना चाहिए, है ना?
और तब उन्हें पता चलता है कि कैसे जटिल ईसीएमएस्क्रिप्ट है, लेकिन उनकी राय की समीक्षा करने से इनकार कर दिया जाएगा। क्योंकि यह वेब है। हम इसे आंतरिक रूप से पसंद नहीं करते हैं, हम इसे पसंद करते हैं जो हमें ऐसा करने में सक्षम बनाता है।