मोबाइल ऐप्लिकेशन के बारे में बहस
परिचय
मोबाइल ऐप्लिकेशन और HTML5, फ़िलहाल दो सबसे लोकप्रिय टेक्नोलॉजी हैं. साथ ही, इन दोनों में काफ़ी समानताएं हैं. वेब ऐप्लिकेशन, मोबाइल ब्राउज़र में चलते हैं. इन्हें अलग-अलग मोबाइल प्लैटफ़ॉर्म पर, नेटिव ऐप्लिकेशन के तौर पर फिर से पैकेज किया जा सकता है. HTML5, कई प्लैटफ़ॉर्म पर काम करता है. साथ ही, मोबाइल ब्राउज़र पर भी यह आसानी से चलता है. इसलिए, डेवलपर इसे "एक बार लिखो, कई बार चलाओ" वाले समाधान के तौर पर इस्तेमाल कर रहे हैं. लेकिन क्या यह वाकई सही है? अब भी नेटिव ऐप्लिकेशन बनाने की कई वजहें हैं. साथ ही, साफ़ तौर पर कहा जा सकता है कि कई डेवलपर इसी रास्ते पर चल रहे हैं. इस लेख में, नेटिव ऐप्लिकेशन और वेब ऐप्लिकेशन के बीच के अंतर के बारे में बताया गया है.
सुविधाओं की उपलब्धता
पॉइंट: नेटिव प्रॉम्प्ट से ज़्यादा काम किए जा सकते हैं
मोबाइल ऐप्लिकेशन की सुविधाओं को दो हिस्सों में बांटा जा सकता है: पहला, ऐप्लिकेशन का अनुभव और दूसरा, डिवाइस के इकोसिस्टम के साथ ऐप्लिकेशन का इंटिग्रेशन. उदाहरण के लिए, Android के लिए, ये सुविधाएं विजेट और सूचनाएं होंगी. नेटिव विज्ञापन, दोनों डाइमेंशन में बेहतर होते हैं.
ऐप्लिकेशन के अनुभव के मामले में, नेटिव ऐप्लिकेशन ज़्यादा काम कर सकते हैं. इनसे, स्वाइप इवेंट और मल्टीटच इवेंट को आसानी से मैनेज किया जा सकता है. हालांकि, ऐसा सिर्फ़ उन प्लैटफ़ॉर्म के लिए किया जा सकता है जो इन इवेंट को सपोर्ट करते हैं. ये आम तौर पर, हार्ड बटन दबाने पर काम करते हैं. जैसे, Android का खोज बटन और आवाज़ कम या ज़्यादा करने वाले बटन. वे जीपीएस और कैमरे जैसे हार्डवेयर को भी ऐक्सेस कर सकते हैं. साथ ही, उपयोगकर्ता की अनुमति से कुछ प्लैटफ़ॉर्म, ऑपरेटिंग सिस्टम को बिना किसी रुकावट के ऐक्सेस करने की सुविधा देते हैं. HTML5 की मदद से, यह पता लगाने की कोशिश करें कि बैटरी कितनी बची है!
हालांकि, यह सिर्फ़ ऐप्लिकेशन में मिलने वाले अनुभव से ज़्यादा है. Android जैसे ऑपरेटिंग सिस्टम, ऐप्लिकेशन को उपयोगकर्ताओं के साथ-साथ अन्य ऐप्लिकेशन से इंटरैक्ट करने के अलग-अलग तरीके उपलब्ध कराते हैं. होम पेज पर आपके विजेट चालू हैं. आपको सूचनाएं मिलती हैं, जो डिवाइस के स्टेटस बार में दिखती हैं. आपके पास इंटेंट होते हैं. इनकी मदद से, आपका ऐप्लिकेशन खुद को एक सामान्य सेवा देने वाले ऐप्लिकेशन के तौर पर दिखा सकता है. अन्य ऐप्लिकेशन को कभी-कभी इसकी ज़रूरत पड़ सकती है.
Counterpoint: Native features can be augmented, and the web is catching up anyway
यह सच है कि ऐप्लिकेशन में मौजूद कई सुविधाएं, HTML5 ऐप्लिकेशन के लिए उपलब्ध नहीं होती हैं. आपकी वेब-फ़ू की स्किल्स कितनी भी अच्छी क्यों न हों, अगर आपका ऐप्लिकेशन कैमरा एपीआई के बिना सैंडबॉक्स में है, तो वह जल्द ही स्नैप नहीं लेगा! अच्छी बात यह है कि आपको उस सैंडबॉक्स में रहने की ज़रूरत नहीं है. अगर आपको अपने वेब ऐप्लिकेशन से फ़ोटो लेनी है, तो आपके पास नेटिव ऐप्लिकेशन बनाने का विकल्प है. इसमें एम्बेड किया गया वेब व्यू होता है, जो ज़्यादातर यूज़र इंटरफ़ेस उपलब्ध कराता है. ओपन-सोर्स PhoneGap फ़्रेमवर्क इस तरह काम करता है: यह नेटिव सुविधाओं को वेब सेवाओं के तौर पर उपलब्ध कराता है. वेब व्यू, स्टैंडर्ड नेटवर्किंग एपीआई का इस्तेमाल करके इन सुविधाओं को कॉल करता है. इस तरह का हाइब्रिड ऐप्लिकेशन बनाने पर, आपको प्लैटफ़ॉर्म की इन सुविधाओं का इस्तेमाल करने का मौका मिलता है. जैसे, विजेट, सूचनाएं, और इंटेंट.
नेटिव और वेब ऐप्लिकेशन, दोनों को मिलाकर हाइब्रिड ऐप्लिकेशन बनाना, शायद ही कोई सही समाधान हो. इससे जटिलता बढ़ती है. साथ ही, यह सिर्फ़ उन वेब ऐप्लिकेशन पर लागू होता है जिन्हें नेटिव ऐप्लिकेशन के तौर पर रैप किया गया है. यह मोबाइल ब्राउज़र से ऐक्सेस की जाने वाली पारंपरिक वेबसाइटों पर लागू नहीं होता. हालांकि, ऐसा हमेशा नहीं होता. वेब स्टैंडर्ड तेज़ी से बदल रहे हैं. साथ ही, आधुनिक मोबाइल ब्राउज़र भी इनके साथ तालमेल बनाए हुए हैं. ऑफ़लाइन स्टोरेज, जियोलोकेशन, कैनवस ग्राफ़िक्स, और वीडियो/ऑडियो चलाने की सुविधा, आज के समय में ज़्यादातर स्मार्टफ़ोन पर काम करती है. कैमरे का इस्तेमाल भी किया जा सकता है. Android 3.1 से, वेब स्टैंडर्ड का इस्तेमाल करके फ़ोटो और वीडियो कैप्चर किए जा सकते हैं. साथ ही, iOS के नए ब्राउज़र में दोनों तरफ़ से स्ट्रीमिंग के लिए WebSocket और डिवाइस के ओरिएंटेशन का पता लगाने की सुविधा काम करती है.
कुल मिलाकर, मोबाइल का इस्तेमाल बढ़ता जा रहा है. हालांकि, वेब भी तेज़ी से बदल रहा है. सिर्फ़ डेस्कटॉप ब्राउज़र की बात करें, तो पांच मुख्य ब्राउज़र वेंडर हैं. ये तेज़ी से स्टैंडर्ड को बेहतर बना रहे हैं और नई सुविधाएं जोड़ रहे हैं. इन सुविधाओं को मोबाइल पर पोर्ट करना आसान नहीं है. हालांकि, इनमें से कई सुविधाएं पहले से ही मोबाइल ब्राउज़र में उपलब्ध हैं.
नेटिव ऐप्लिकेशन, तेज़ी से आगे बढ़ रहे हैं. हालांकि, वेब ऐप्लिकेशन भी अब इस अंतर को कम कर रहे हैं.
परफ़ॉर्मेंस
पॉइंट: नेटिव विज्ञापन तेज़ी से लोड होते हैं
नेटिव ऐप्लिकेशन को वेब रनटाइम की समस्या का सामना नहीं करना पड़ता. ये सीधे तौर पर हार्डवेयर पर काम करते हैं. इसलिए, ये परफ़ॉर्मेंस बूस्टर का फ़ायदा उठा सकते हैं. जैसे, जीपीयू ऐक्सलरेशन और मल्टीथ्रेडिंग.
Counterpoint: Web runtimes are much faster today, and most apps don't need the speed anyway
यह कहना काफ़ी नहीं होगा कि वेब की स्पीड पिछले कुछ सालों में बेहतर हुई है. V8, Chrome के साथ शिप किया जाने वाला JavaScript इंजन है. जब इसे लॉन्च किया गया था, तब यह वेब परफ़ॉर्मेंस के लिए एक बड़ा डेवलपमेंट था. इसके बाद से, इसकी स्पीड और भी तेज़ हो गई है:
ग्राफ़िक रेंडरिंग इंजन की वजह से, वेब की स्पीड भी बढ़ गई है. अब हार्डवेयर ऐक्सेलरेटर का इस्तेमाल किया जा रहा है. हार्डवेयर से तेज़ी लाने वाले कैनवस की मदद से, स्पीड बंप पर एक नज़र डालें:
इसके अलावा, नए Web Workers API की मदद से मल्टीथ्रेडिंग की जा सकती है. साथ ही, आधुनिक वेब डेवलपर, परफ़ॉर्मेंस के लिए ऑप्टिमाइज़ की गई कई लाइब्रेरी और परफ़ॉर्मेंस को ऑप्टिमाइज़ करने की अच्छी तरह से रिसर्च की गई तकनीकों का इस्तेमाल कर सकते हैं. इनमें से ज़्यादातर टूल, डेस्कटॉप वेब पर उपलब्ध हैं. हालांकि, ये अब भी मोबाइल के लिए काम के हैं. साथ ही, मोबाइल पर ज़्यादा ध्यान दिया जा रहा है. उदाहरण के लिए, परफ़ॉर्मेंस गुरु स्टीव सॉडर्स ने मोबाइल पर परफ़ॉर्मेंस को बेहतर बनाने वाले टूल के लिए एक पेज बनाया है.
डेस्कटॉप पर उपलब्ध सभी सुविधाएं, अब तक हर मोबाइल प्लैटफ़ॉर्म पर उपलब्ध नहीं कराई गई हैं. हालांकि, रुझानों से पता चलता है कि ये सुविधाएं जल्द ही उपलब्ध होंगी. यह भी ध्यान रखना ज़रूरी है कि ज़्यादातर मोबाइल ऐप्लिकेशन, 3D गेम नहीं होते. ये मुख्य रूप से जानकारी पर आधारित होते हैं. जैसे, खबरें, ईमेल, टाइमटेबल, सोशल नेटवर्क वगैरह. अपने मोबाइल से कुछ साइटों पर जाएं. जैसे, GMail, Amazon, Twitter. इससे आपको पता चलेगा कि मोबाइल वेब की परफ़ॉर्मेंस काफ़ी अच्छी है. गेम के लिए, 2D कैनवस का इस्तेमाल करके बुनियादी गेम पहले से ही बनाए जा सकते हैं. साथ ही, WebGL अब मोबाइल पर भी उपलब्ध है. इसके लिए, Firefox 4 देखें. जब तक यह सुविधा बड़े पैमाने पर उपलब्ध नहीं हो जाती, तब तक फ़्रेमवर्क का एक बढ़ता हुआ परिवार है.यह WebGL ऐप्लिकेशन को ऐसे नेटिव ऐप्लिकेशन में कंपाइल करता है जो OpenGL का फ़ायदा उठा सकते हैं. उदाहरण के लिए, ImpactJS.
डेवलपर एक्सपीरियंस
पॉइंट: नेटिव ऐप्लिकेशन को डेवलप करना आसान होता है
नेटिव ऐप्लिकेशन, मज़बूत प्रोग्रामिंग भाषाओं (जैसे कि Java, Objective C, C++) का इस्तेमाल करते हैं.इन्हें जटिल ऐप्लिकेशन बनाने के लिए डिज़ाइन किया गया था. साथ ही, इनका इस्तेमाल पहले भी किया जा चुका है. एपीआई को शुरू से ही इस तरह से डिज़ाइन किया गया था कि वे इस प्लैटफ़ॉर्म के साथ काम कर सकें. डेस्कटॉप इम्यूलेटर में ऐप्लिकेशन को आसानी से डीबग किया जा सकता है. ये इम्यूलेटर, टारगेट डिवाइस के जैसा अनुभव देते हैं.
वेब डेवलपमेंट में सबसे बड़ी समस्या यह है कि ब्राउज़र और रनटाइम की संख्या बहुत ज़्यादा है. ऐप्लिकेशन के चलने पर, यह ज़रूरी नहीं है कि सुविधा X उपलब्ध हो. अगर ऐसा है, तो ब्राउज़र इसे कैसे लागू करेगा? मानदंडों की अलग-अलग व्याख्या की जा सकती है.
Counterpoint: Web is often easier to develop, especially if targeting multiple devices
आइए, सबसे पहले मुख्य टेक्नोलॉजी के बारे में जानते हैं. यह सच है कि वेब स्टैंडर्ड की शुरुआत ऐसे समय में हुई थी, जब वेब का मुख्य काम दस्तावेज़ों को दिखाना था, न कि ऐप्लिकेशन को. साथ ही, JavaScript को सिर्फ़ 10 दिनों में बनाया और डिप्लॉय किया गया था! हालांकि, ये अनुमान से कहीं ज़्यादा बेहतर साबित हुए हैं. वेब डेवलपर ने इसके अच्छे हिस्सों का फ़ायदा उठाना और बुरे हिस्सों को ठीक करना सीख लिया है. साथ ही, अब स्केलेबल डिज़ाइन के लिए पैटर्न को समझा जा सकता है. इसके अलावा, ये स्टैंडर्ड लगातार बेहतर हो रहे हैं. साथ ही, HTML5, CSS3, और EcmaScript Harmony जैसे स्टैंडर्ड, डेवलपर को बेहतर अनुभव देने के लिए लगातार काम कर रहे हैं. C++, Java या JavaScript में से कौनसी भाषा बेहतर है, यह एक विवादास्पद विषय है. यह आपके लेगसी कोड बेस पर भी निर्भर करता है. हालांकि, हम JavaScript को इन दिनों एक गंभीर दावेदार के तौर पर शामिल कर सकते हैं.
ब्राउज़र/रनटाइम फ़्रैगमेंटेशन का दूसरा पहलू यह है कि ये सभी एनवायरमेंट मौजूद हैं. आपने Java में Android ऐप्लिकेशन बनाया है और अब आपको इसे iOS पर चलाने के लिए, Objective C में पोर्ट करना है. एक बार वेब ऐप्लिकेशन डेवलप करने पर, वह Android और iOS के साथ-साथ WebOS, BlackBerry, Windows Mobile वगैरह पर भी काम करेगा. हालांकि, यह सिर्फ़ एक सिद्धांत है. हालांकि, अगर आपको हर प्लैटफ़ॉर्म पर सही अनुभव चाहिए, तो आपको हर प्लैटफ़ॉर्म के हिसाब से बदलाव करने होंगे. हालांकि, आपको ऐसा नेटिव ऐप्लिकेशन में भी करना होगा. ऐसा इसलिए, क्योंकि ज़्यादातर मोबाइल ऑपरेटिंग सिस्टम के अलग-अलग वर्शन और डिवाइस होते हैं.
अच्छी बात यह है कि वेब पर "फ़्रैगमेंटेशन" हमेशा से ऐसा ही रहा है. साथ ही, इससे निपटने के लिए जानी-मानी तकनीकें उपलब्ध हैं. सबसे अहम बात यह है कि प्रोग्रेसिव एन्हांसमेंट के सिद्धांत के तहत, डेवलपर को सबसे पहले बुनियादी डिवाइस को टारगेट करना चाहिए. इसके बाद, जहां उपलब्ध हो वहां प्लैटफ़ॉर्म के हिसाब से बेहतरीन लेयर जोड़नी चाहिए. सुविधा की पहचान करने के सिद्धांत से भी मदद मिलती है. आजकल, हमारे पास रिस्पॉन्सिव वेब डिज़ाइन (स्क्रीन के हिसाब से साइज़ बदलने वाला वेब डिज़ाइन) के लिए, Modernizr जैसी लाइब्रेरी का सपोर्ट उपलब्ध है. इन तकनीकों का सही तरीके से इस्तेमाल करके, ज़्यादा से ज़्यादा डिवाइसों पर अपनी पहुंच बढ़ाई जा सकती है. इनमें पुराने "फ़ोन", स्मार्टवॉच, और टीवी जैसे डिवाइस शामिल हैं. इससे कोई फ़र्क़ नहीं पड़ता कि डिवाइस किस कंपनी का है और उसमें कौन-सा ओएस इस्तेमाल किया जा रहा है. Google IO 2011 में, हमने एक से ज़्यादा यूज़र इंटरफ़ेस (यूआई) का डेमो दिखाया था. इसमें हमने अलग-अलग डिवाइसों (फ़ोन, स्मार्टफ़ोन, टैबलेट, डेस्कटॉप, टीवी) के लिए, लॉजिक और मार्कअप के एक ही कोड बेस का इस्तेमाल किया था.
लुक ऐंड फ़ील
पॉइंट: नेटिव विज्ञापन, प्लैटफ़ॉर्म के लुक-ऐंड-फ़ील के हिसाब से होते हैं
किसी भी प्लैटफ़ॉर्म की सबसे अहम विशेषताओं में से एक, उसका लुक और फ़ील होता है. उपयोगकर्ताओं को उम्मीद होती है कि कंट्रोल को एक ही तरीके से दिखाया जाए और उन्हें एक ही तरीके से इस्तेमाल किया जाए. कुछ मुहावरे ऐसे होते हैं जो प्लैटफ़ॉर्म के हिसाब से अलग-अलग होते हैं. उदाहरण के लिए, जब कोई उपयोगकर्ता "लॉन्ग होल्ड" (किसी एलिमेंट को कुछ सेकंड तक दबाकर रखना) करता है, तो क्या होता है? इन चीज़ों के लिए, प्लैटफ़ॉर्म के पास स्टैंडर्ड मुहावरे होते हैं. साथ ही, एक ही एचटीएमएल5 ऐप्लिकेशन से इन सभी को पूरा नहीं किया जा सकता.
इसके अलावा, प्लैटफ़ॉर्म के लुक-एंड-फ़ील को प्लैटफ़ॉर्म की नेटिव सॉफ़्टवेयर लाइब्रेरी मैनेज करती है. इसके विजेट, उपयोगकर्ताओं की उम्मीद के मुताबिक लुक-एंड-फ़ील को शामिल करते हैं. नेटिव टूलकिट का इस्तेमाल करके, आपको "बिना किसी शुल्क के" कई सुविधाएं मिलती हैं.
दूसरा नज़रिया: वेब का अपना लुक-एंड-फ़ील होता है. साथ ही, आपके पास उन प्लैटफ़ॉर्म के लिए वेब इंटरफ़ेस को पसंद के मुताबिक बनाने का विकल्प भी होता है जो आपके लिए सबसे ज़्यादा अहम हैं
पिछले सेक्शन में बताया गया है कि वेब डेवलपमेंट का तरीका यह है कि "एक साइज़ सभी के लिए सही है" वाला बुनियादी वर्शन लिखा जाए. इसके बाद, उसे बेहतर बनाया जाए. आम तौर पर, बेहतर बनाने की प्रोसेस सुविधाओं पर आधारित होती है. हालांकि, उन प्लैटफ़ॉर्म को टारगेट करके भी इसे बेहतर बनाया जा सकता है जो आपके लिए सबसे ज़्यादा अहमियत रखते हैं. यह एक तरह का "ब्राउज़र डिटेक्शन" है. वेब कम्यूनिटी कभी-कभी इसे नापसंद करती है. इसकी मुख्य वजह यह है कि इंटरनेट पर कई तरह के ब्राउज़र उपलब्ध हैं. हालांकि, अगर आपको दो या तीन प्लैटफ़ॉर्म को बहुत ज़्यादा प्राथमिकता देनी है और आपको नेटिव विकल्पों के मुकाबले ज़्यादा मेहनत करनी है, तो यह तरीका आपके लिए सही हो सकता है.
जहां तक बेसलाइन वर्शन की बात है, वेब का अपना लुक-एंड-फ़ील होता है. हम यह भी कह सकते हैं कि हर मोबाइल प्लैटफ़ॉर्म का अपना "वेब लुक-एंड-फ़ील" होता है, जिसे डिफ़ॉल्ट ब्राउज़र और वेब रनटाइम से सेट किया जाता है. "वेब जैसा लुक-एंड-फ़ील" आपके उपयोगकर्ताओं के लिए ठीक हो सकता है. साथ ही, इससे आपको डेस्कटॉप ब्राउज़िंग के अनुभव के साथ-साथ, उपयोगकर्ता के इस्तेमाल किए जा रहे अन्य डिवाइसों पर भी एक जैसा अनुभव देने में मदद मिलती है. इसके अलावा, कई ऐसे ऐप्लिकेशन हैं जो काफ़ी लोकप्रिय हैं. हालांकि, वे नेटिव लुक और फ़ील को ज़्यादा सपोर्ट नहीं करते. यह बात गेम के लिए बिलकुल सही है. क्या आपका पसंदीदा मोबाइल गेम, आपके मोबाइल ओएस के लुक और फ़ील के हिसाब से काम करता है? यह बात ज़्यादातर ऐप्लिकेशन के लिए भी सही है. उदाहरण के लिए, अपने पसंदीदा प्लैटफ़ॉर्म पर ज़्यादा लोकप्रिय नेटिव Twitter क्लाइंट देखें. आपको पता चलेगा कि कई तरह के यूज़र इंटरफ़ेस मेकेनिज़्म काम कर रहे हैं.
ऐसे वीडियो बनाना जिन्हें दर्शक आसानी से खोज सकें
पॉइंट: नेटिव ऐप्लिकेशन को आसानी से खोजा जा सकता है
ऐप्लिकेशन डिस्ट्रिब्यूशन के तरीके, जैसे कि Android का Market और Apple का App Store, पिछले कुछ सालों में बहुत लोकप्रिय हुए हैं. साथ ही, ये पूरे मोबाइल उद्योग के लिए एक बड़ी ताकत हैं. कोई भी डेवलपर, मार्केटप्लेस में अपना नेटिव ऐप्लिकेशन सबमिट कर सकता है. यहां उपयोगकर्ता, ब्राउज़ करने, खोजने, और सुझाव पाने की सुविधा का इस्तेमाल करके, ऐप्लिकेशन ढूंढ सकते हैं. इतना ही नहीं, अगर आपने सही तरीके से काम किया है, तो अच्छी रेटिंग और टिप्पणियां देखकर लोग, इंस्टॉल बटन पर क्लिक करेंगे.
विरोधी राय: वेब ऐप्लिकेशन को खोजना ज़्यादा आसान होता है
वेब, अब तक का सबसे बेहतरीन प्लैटफ़ॉर्म है, जहां कॉन्टेंट को आसानी से खोजा जा सकता है. यूआरएल में, सिद्धांत के तौर पर, वेब पर पब्लिश की गई हर चीज़ के लिए एक यूनीक आइडेंटिफ़ायर होता है. इसमें स्टैंडर्ड वेबसाइटों पर पब्लिश किए गए ऐप्लिकेशन भी शामिल होते हैं. सर्च इंजन की मदद से, उस कॉन्टेंट को आसानी से खोजा जा सकता है. साथ ही, दूसरी वेबसाइटें भी उससे लिंक कर सकती हैं. इनमें मोबाइल मार्केटप्लेस की तरह ही वेब ऐप्लिकेशन के कैटलॉग भी शामिल हैं. दरअसल, कोई भी व्यक्ति वेब ऐप्लिकेशन को अपने दोस्तों के साथ शेयर कर सकता है. इसके लिए, उसे सिर्फ़ ईमेल और सोशल नेटवर्क के मैसेज में इसका लिंक जोड़ना होगा. लिंक को एसएमएस के ज़रिए भी भेजा जा सकता है. इससे मोबाइल उपयोगकर्ता, लिंक पर क्लिक करके अपने डिवाइस के ब्राउज़र में ऐप्लिकेशन लॉन्च कर पाएंगे.
फ़िलहाल, हमारे पास ऐसे मार्केटप्लेस नहीं हैं जहां उपयोगकर्ता ऐप्लिकेशन को रेटिंग दे सकें और उन पर टिप्पणी कर सकें. हालांकि, इसमें भी बदलाव हो रहा है. इसके बारे में यहां पढ़ें…
कमाई करना
पॉइंट: नेटिव विज्ञापन से कमाई की जा सकती है
"6 साल के बच्चे ने लंच के समय ऐप्लिकेशन बनाया और उसकी कई कॉपी बेचीं. हर कॉपी की कीमत 3 डॉलर थी". आजकल आपको यह हेडलाइन कई बार दिखती है. इसलिए, इसमें कोई हैरानी की बात नहीं है कि छोटे और बड़े डेवलपर, कमाई करने के लिए मोबाइल मार्केटप्लेस की ओर देख रहे हैं. मोबाइल प्लैटफ़ॉर्म, डेवलपर को कई ऐसे तरीके उपलब्ध कराते हैं जिनसे वे अपने ऐप्लिकेशन के लिए सीधे तौर पर शुल्क ले सकते हैं. सबसे आसान तरीका, एक बार पेमेंट करके ऐप्लिकेशन को हमेशा के लिए अनलॉक करना है. कुछ प्लैटफ़ॉर्म पर, ऐप्लिकेशन में पेमेंट करने और सदस्यता लेने की सुविधाएं भी उपलब्ध हैं. इन्हें एक जैसे और सुरक्षित तरीके से इंटिग्रेट किया गया है. पेमेंट के इन नए तरीकों से, डेवलपर किसी लोकप्रिय ऐप्लिकेशन को कमाई का लंबे समय तक चलने वाला ज़रिया बना सकते हैं.
ऐप्लिकेशन में होने वाले पेमेंट के अलावा, कमाई करने के लिए वेब के पारंपरिक मॉडल का इस्तेमाल किया जा सकता है. जैसे, विज्ञापन और स्पॉन्सरशिप.
विरोधी तर्क: वेब पर हमेशा से कमाई की जा सकती है. साथ ही, कमाई करने के अवसर बढ़ते जा रहे हैं
अगर वेब पर कमाई करने के कई मौके न होते, तो यह आधुनिक उद्योग का इंजन नहीं होता. हालांकि, "इस्तेमाल के हिसाब से शुल्क चुकाने" की सुविधा अभी तक लोकप्रिय नहीं हुई है. हालांकि, कई ऐसे क्षेत्र हैं जहां सदस्यता पर आधारित "सॉफ़्टवेयर एज़ अ सर्विस" समाधान वाकई में फ़ायदेमंद साबित हुए हैं. उदाहरण के लिए, Google Apps, 37Signals के प्रॉडक्ट की रेंज, और ईमेल की अलग-अलग सेवाओं के प्रीमियम वर्शन. इसके अलावा, वेब ऐप्लिकेशन से फ़ायदा पाने के लिए, सीधे पेमेंट पाने का तरीका ही एकमात्र तरीका नहीं है. ऑनलाइन विज्ञापन, अफ़िलिएट लिंक, स्पॉन्सरशिप, और अन्य प्रॉडक्ट और सेवाओं का क्रॉस-प्रमोशन शामिल है.
हालांकि, वेब डेवलपर के लिए हेडलाइन पढ़ना और पेमेंट से जुड़ी ईर्ष्या का अनुभव करना पूरी तरह से सही है. नेटिव मार्केटप्लेस पर वेब यूआरएल सबमिट नहीं किया जा सकता. ऐसे में, वेब डेवलपर को क्या करना चाहिए? आपको एक नेटिव "रैपर ऐप्लिकेशन" बनाना होगा. इसके लिए, आपको हर उस प्लैटफ़ॉर्म के लिए एक खाली नेटिव ऐप्लिकेशन बनाना होगा जिसे आपको टारगेट करना है. इस ऐप्लिकेशन में सिर्फ़ एक वेब व्यू होगा. वेब व्यू में, असली ऐप्लिकेशन को एम्बेड किया जाता है. इसके बाद, इन ऐप्लिकेशन को अलग-अलग मार्केटप्लेस पर सबमिट किया जाता है. आज मुख्य मार्केटप्लेस में, वेब की मदद से काम करने वाले सैकड़ों, अगर हज़ारों नहीं, तो ऐप्लिकेशन मौजूद हैं. इनमें से कुछ को इस तरह से शामिल किया गया है कि हमें उनके वेब ऐप्लिकेशन के बारे में पता भी नहीं चलता.
हालांकि, इसका एक नुकसान यह है कि आपको हर प्लैटफ़ॉर्म के लिए क्रॉस-कंपाइलिंग करनी होगी. यहां PhoneGap जैसे मौजूदा फ़्रेमवर्क आपकी मदद कर सकते हैं. इससे भी बेहतर, PhoneGap Build और Apparatio जैसी वेब सेवाएं डेवलप की जा रही हैं. इन वेबसाइटों को अपनी कोड रिपॉज़िटरी पर ले जाएं. इसके बाद, Android ऐप्लिकेशन, iOS ऐप्लिकेशन वगैरह तैयार हो जाएंगे. इन्हें संबंधित स्टोर पर सबमिट किया जा सकता है. आपको अपनी मशीन पर नेटिव SDK टूल इंस्टॉल करने की ज़रूरत नहीं है. इन सभी नेटिव ऐप्लिकेशन को बनाने के लिए, आपको सिर्फ़ कोड एडिटर और वेब ब्राउज़र की ज़रूरत होगी.
क्या मार्केटप्लेस, वेब ऐप्लिकेशन को सीधे तौर पर इस्तेमाल करने की सुविधा कभी देंगे? इसके लिए, उन्हें नेटिव तौर पर रैप करने की ज़रूरत नहीं होगी. इस बारे में अभी ज़्यादा जानकारी नहीं है. हम जानते हैं कि Google ने पिछले साल Chrome Web Store लॉन्च किया था. यह सिर्फ़ डेस्कटॉप पर काम करता है. हालांकि, इस स्टोर ने अन्य ब्राउज़र बनाने वाली कंपनियों की दिलचस्पी बढ़ा दी है. साथ ही, यह वेब ऐप्लिकेशन कैटलॉग की ओर बढ़ते रुझान का हिस्सा है. इसमें मोबाइल के लिए बनाए गए कुछ ऐप्लिकेशन भी शामिल हैं. वेब स्टोर का कॉन्सेप्ट अभी शुरुआती दौर में है, लेकिन इसके नतीजे अच्छे दिख रहे हैं.
मीटिंग में सामने आए नतीजे
यहां किसी एक को विजेता घोषित करना अच्छा होगा, लेकिन फ़िलहाल, कोई भी बेहतर विकल्प नहीं है. कुछ ऐप्लिकेशन, नेटिव ऐप्लिकेशन के लिए सबसे सही होते हैं. वहीं, कुछ ऐप्लिकेशन वेब ऐप्लिकेशन के लिए सबसे सही होते हैं. वेब स्टैक में ज़्यादा मोमेंटम है, लेकिन क्षमताओं और एक्ज़ीक्यूशन क्वालिटी के मामले में, नेटिव ऐप्लिकेशन भी तेज़ी से आगे बढ़ रहे हैं. जब तक वेब टेक्नोलॉजी, ज़्यादातर मोबाइल ओएस पर सबसे अहम नहीं हो जाती, तब तक नेटिव ऐप्लिकेशन हमेशा एक अहम विकल्प रहेगा.
इस लेख में बताई गई एक तकनीक हाइब्रिड ऐप्लिकेशन है. यह कुछ डेवलपर के लिए सबसे अच्छा विकल्प हो सकता है: जहां वेब व्यू मुमकिन हो वहां वेब व्यू और जहां यह मुमकिन न हो वहां प्लैटफ़ॉर्म के हिसाब से नेटिव कॉम्पोनेंट.
अगर आपको वेब पाथ चुनना है, तो वेब स्टैंडर्ड और प्रोग्रेसिव एन्हांसमेंट के सिद्धांत का ध्यान रखें. वेब एक ऐसी टेक्नोलॉजी है जो अलग-अलग डिवाइसों और ऑपरेटिंग सिस्टम को टारगेट करने का तरीका जानती है. चाहे इसे "फ़्रैगमेंटेशन" कहें या "डाइवर्सिटी", वेब इसे स्वीकार करता है. साथ ही, डेवलपर को पहले से मौजूद सभी टेक्नोलॉजी से फ़ायदा मिल सकता है.