iOS और Android के बीच कोड साझा करने की लागत
(blogs.dropbox.com)Dropbox ने 2013 में शुरुआत के समय दोनों प्लेटफ़ॉर्म के बीच साझा करने के लिए C++ का इस्तेमाल किया।
उस समय टीम छोटी थी, और यह तेज़ी से बढ़ते मोबाइल रोडमैप को सपोर्ट करने के लिए था।
अब उन्होंने Swift और Kotlin का उपयोग करना शुरू कर दिया है, और इसकी वजह कोड शेयरिंग से जुड़ी नीचे दी गई छिपी हुई लागतें हैं (असल में ये ज़्यादा छिपी हुई भी नहीं हैं)
-
कस्टम फ़्रेमवर्क और लाइब्रेरी के कारण ओवरहेड
-
कस्टम डेवलपमेंट एनवायरनमेंट का ओवरहेड
-
प्लेटफ़ॉर्मों के बीच के अंतर को संभालने का ओवरहेड
-
डेवलपर्स को प्रशिक्षित करने, भर्ती करने और बनाए रखने का ओवरहेड
निष्कर्ष यह है कि एक ही कोडबेस अच्छा लगता है, लेकिन ओवरहेड बहुत बड़ा होता है।
इस लेख का आख़िरी पैराग्राफ़ "Android / iOS डेवलपर चाहिए!" होना भी महत्वपूर्ण है।
4 टिप्पणियां
क्या यह इस बात पर निर्भर नहीं करता कि संगठन उस ओवरहेड को संभाल सकता है या नहीं?
जो भी विकल्प चुना जाए, अगर उसे संभाला जा सकता है, तो मुझे लगता है कि जिस चीज़ में आप सबसे बेहतर हैं उसी पर ध्यान देना सही होगा.
आख़िरकार, प्लेटफ़ॉर्म के बीच जो अंतर हैं, वे शायद टाले नहीं जा सकते. Hybrid से बनाने पर भी वे अंतर ख़त्म नहीं होते.
क्रॉस-प्लैटफ़ॉर्म बस एक और प्लेटफ़ॉर्म भर है.
वह भी और ज़्यादा जटिल और अधूरा-सा..
आजकल React Native काफ़ी mature लग रहा है..
बेशक Dropbox जैसी device-dependent app की तरफ़ जाएँ, तो पुराने hybrid app वाली परेशानियाँ अब भी बनी रहेंगी..
लेख लंबा है, लेकिन सच कहें तो Dropbox ने C++ इस्तेमाल किया, इसलिए वह एक थोड़ा अलग मामला है.
छोटी organizations में एक ही codebase से multi-platform support करना ईमानदारी से कहें तो शुरुआत में काफ़ी आकर्षक लगता है.
10 साल पहले HTML5 और Phonegap का इस्तेमाल करके Hybrid development ऐसा ही था,
और आजकल React Native और Flutter जैसी चीज़ें आ गई हैं, जो एक साथ कई platforms को support कर सकती हैं — इसी बात से सभी को लुभाया जा रहा है.
मेरी राय में, छोटी organizations में ऊपर बताए गए तरीके से code share करना निश्चित रूप से फ़ायदेमंद है.
लेकिन product के बढ़ने के साथ यह फिर से technical debt बन जाता है.
जैसे-जैसे users बढ़ते हैं, organization बड़ी होती है, और developers की संख्या बढ़ती है, वैसे-वैसे Web/iOS/Android — सभी का अपने-अपने उपयुक्त technologies के साथ विकसित होना ही आख़िरी रूप बनता है, ऐसा मैं मानता हूँ.
https://hi.news.hada.io/topic?id=309 पर technical debt के बारे में जो अच्छा लेख है, उसी की तरह
इरादे के साथ technical debt बनाना महत्वपूर्ण है. ब्याज बढ़ने से पहले कर्ज़ चुका दें.