माइग्रेशन के विकल्प
Chrome ऐप्लिकेशन से माइग्रेट करने के दो प्राथमिक विकल्प हैं: वेब ऐप्लिकेशन और Chrome एक्सटेंशन:
ज़्यादातर मामलों में, वेब ऐप्लिकेशन पाथ का इस्तेमाल करना बेहतर होता है. कुछ मामलों में, Chrome एक्सटेंशन का इस्तेमाल ऐसे मामलों में किया जा सकता है जिन्हें वेब पर इस्तेमाल नहीं किया जा सकता. जैसे, यूज़र इंटरफ़ेस के बिना बैकग्राउंड में चलाना.
वेब ऐप्लिकेशन
Chrome ऐप्स से माइग्रेट करने का पसंदीदा विकल्प वेब ऐप्लिकेशन बनाना है. ऐसा करके, वेब की सुविधाओं वाले प्रोजेक्ट जैसी बेहतर सुविधाओं का इस्तेमाल किया जा सकता है. 'Capabilities' प्रोजेक्ट में शामिल एपीआई, अब इस्तेमाल के ज़्यादातर उन उदाहरणों में शामिल है जिन्हें पहले Chrome App API से हासिल किया जा सकता था. हालांकि, इनमें से किसी भी सुविधा का इस्तेमाल करना ज़रूरी नहीं है: वेब पर आसानी से काम करने की सुविधा की मदद से, डेवलपर यह चुन सकते हैं कि उनकी ज़रूरतों के हिसाब से कौन-कौनसी मुश्किलें सबसे सही हों.
वेब ऐप्लिकेशन के फ़ायदे
Chrome ऐप्लिकेशन की तुलना में, वेब ऐप्लिकेशन के कुछ फ़ायदे हैं:
- पोर्टेबिलिटी: Chrome ऐप्लिकेशन सिर्फ़ Chrome में चलते हैं. वेब ऐप्लिकेशन ज़्यादातर ब्राउज़र और ऑपरेटिंग सिस्टम पर चलते हैं. हालांकि, अलग-अलग एपीआई के साथ काम करने की सुविधा उन सभी में अलग-अलग होती है.
- डेवलपर का अनुभव: Chrome ऐप्लिकेशन में, वेब ऐप्लिकेशन जैसी टेक्नोलॉजी (एचटीएमएल, JavaScript, और सीएसएस) का इस्तेमाल किया जाता है. हालांकि, Chrome ऐप्लिकेशन की कुछ बेहतर सुविधाएं (जैसे, बैकग्राउंड पेज) स्टैंडर्ड नहीं हैं. इसलिए, इनके बारे में ज़्यादा जानकारी की ज़रूरत होती है.
- सुविधा का सेट: Chrome के ऐप्लिकेशन, ऐसे एपीआई का इस्तेमाल करते हैं जिनकी नई सुविधाओं को अब मैनेज या अपडेट नहीं किया जाता. वेब ऐप्लिकेशन, ओपन वेब पर निर्भर रहते हैं. वेब ऐप्लिकेशन लगातार बेहतर होता रहता है और इसके पास सभी अप-टू-डेट एपीआई का ऐक्सेस होता है.
- इंस्टॉल करना और अपडेट करना: Chrome ऐप्स के लिए, मैन्युअल तरीके से इंस्टॉल और अपडेट करना ज़रूरी होता है. कभी-कभी इनके लिए स्टोर की समीक्षा भी करनी पड़ती है. वेब ऐप्लिकेशन को किसी ब्राउज़र से सीधे ऐक्सेस किया जा सकता है और विकल्प के तौर पर इंस्टॉल किया जा सकता है. जैसे ही ब्राउज़र नई फ़ाइलें फ़ेच कर लेता है, वैसे ही वेब ऐप्लिकेशन के अपडेट, डिप्लॉयमेंट के बाद तुरंत मिल जाते हैं.
- सहायता: वैसे तो Chrome ऐप्लिकेशन और वेब ऐप्लिकेशन, दोनों में काफ़ी कम्यूनिटी हैं, लेकिन वेब प्लैटफ़ॉर्म की मौजूदगी काफ़ी बड़ी है. साथ ही, यह डेवलपर को सपोर्ट करने के लिए, फ़्रेमवर्क और लाइब्रेरी जैसे डेवलपमेंट टूल की एक बड़ी रेंज उपलब्ध कराता है.
प्रोग्रेसिव वेब ऐप्लिकेशन
प्रोग्रेसिव वेब ऐप्लिकेशन या PWA ऐसे वेब ऐप्लिकेशन हैं जिन्हें आधुनिक एपीआई के साथ बनाया और ऑप्टिमाइज़ किया गया है. इससे, आपको इंस्टॉल करने की बेहतर सुविधाएं, इंस्टॉल करने की क्षमता, और विश्वसनीयता मिलती है. इन सुविधाओं का इस्तेमाल करके, वेब पर ऐप्लिकेशन जैसा अनुभव मिलता है.
इंस्टॉल करने की क्षमता
PWA को डेस्कटॉप और मोबाइल, दोनों प्लैटफ़ॉर्म पर इंस्टॉल किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है, क्योंकि इन्हें अब भी सीधे ब्राउज़र से ऐक्सेस किया जा सकता है. PWA को इंस्टॉल करने का विकल्प चुनने वाले उपयोगकर्ता, PWA को आइकॉन और शॉर्टकट के ज़रिए लॉन्च कर सकते हैं. अपने PWA की वेब मेनिफ़ेस्ट फ़ाइल में मेटाडेटा दिया जा सकता है. इसमें बताया गया है कि इंस्टॉलेशन के बाद लॉन्च करने पर, वह अपनी विंडो में खुलता है.
विश्वसनीयता
PWA में, नेटवर्क की चुनौती भरी स्थितियों में भी लगातार काम करने की सुविधा होती है. ऐसा PWA के मुख्य कॉम्पोनेंट की वजह से हो पाता है. इन कॉम्पोनेंट को सर्विस वर्कर कहा जाता है. सर्विस वर्कर, आपको नेटवर्क अनुरोधों को रोकने और कैश मेमोरी में सेव किया गया कॉन्टेंट दिखाने की अनुमति देते हैं, ताकि यह पक्का किया जा सके कि ऐप्लिकेशन ऑफ़लाइन या खराब कनेक्टिविटी की स्थिति में भी काम करे. वर्कबॉक्स जैसी लाइब्रेरी में, अनोखी रणनीतियां होती हैं. इनकी मदद से, ऑफ़लाइन फ़ंक्शन को आसानी से लागू किया जा सकता है और आसानी से डेवलपमेंट किया जा सकता है.
बेहतर सुविधाएं
वेब की क्षमताओं से जुड़े प्रोजेक्ट की मदद से, वेब ऐप्लिकेशन इस्तेमाल के ऐसे कई मामले हासिल कर पाते हैं जिन्हें Chrome ऐप्लिकेशन लागू कर सकता है. हालांकि, वेब का सुरक्षा मॉडल कुछ सीमाएं लागू करता है. यहां वेब पर मिलने वाली बेहतर क्षमताओं के कुछ उदाहरण दिए गए हैं. जिनका इस्तेमाल आप मौजूदा Chrome App API के बजाय कर सकते हैं:
- ब्लूटूथ और यूएसबी ऐक्सेस: वेब ब्लूटूथ और वेब यूएसबी
chrome.bluetooth
औरchrome.usb
का विकल्प देते हैं. - फ़ाइल सिस्टम मैनेजमेंट: File System Access API,
chrome.fileSystem
API का विकल्प है. - शॉर्टकट: वेब ऐप्लिकेशन कई मुख्य इवेंट (जैसे कि कीडाउन) सुनकर, कीबोर्ड शॉर्टकट की सुविधा दे सकते हैं. हालांकि, कुछ शॉर्टकट इस्तेमाल किए जा सकते हैं. जब आपके वेब ऐप्लिकेशन का इस्तेमाल फ़ुलस्क्रीन मोड में किया जाता है, तो कीबोर्ड लॉक API से इन सिस्टम शॉर्टकट पर रोक लगाई जा सकती है.
- स्थायी स्टोरेज: वेब ऐप्लिकेशन में परसिस्टेंट स्टोरेज की अनुमति का अनुरोध करने से, Chrome ऐप्स में
unlimitedStorage
अनुमति जैसी ही सुविधाएं मिल सकती हैं. - जियोलोकेशन: वेब ऐप्लिकेशन में किसी उपयोगकर्ता की जगह की जानकारी का पता लगाने के लिए, भौगोलिक जगह के एपीआई का इस्तेमाल किया जा सकता है. यह जियोलोकेशन की अनुमति के विकल्प के तौर पर उपलब्ध होता है.
- बैकग्राउंड प्रोसेसिंग:
background
अनुमति के विकल्पों में, बैकग्राउंड सिंक एपीआई और Periodic बैकग्राउंड सिंक एपीआई शामिल हैं. - क्लिपबोर्ड पर कॉपी करें: Async Clipboard API से, प्रोग्राम के हिसाब से, टेक्स्ट और इमेज, दोनों को कॉपी करके चिपकाया जा सकता है.
Chrome एक्सटेंशन
वेब ऐप्लिकेशन, Chrome ऐप्स से माइग्रेट करने का सबसे अच्छा विकल्प हैं, लेकिन कुछ मामलों में Chrome एक्सटेंशन एक विकल्प हो सकते हैं. एक्सटेंशन भी वेब टेक्नोलॉजी (एचटीएमएल, सीएसएस, और JavaScript) की मदद से बनाए जाते हैं. उनका इस्तेमाल ब्राउज़र की सुविधाएं जोड़ने या उनमें बदलाव करने के लिए किया जा सकता है. साथ ही, बेहतर उपयोगकर्ता अनुभव देने के लिए, दूसरे वेब ऐप्लिकेशन को पसंद के मुताबिक बनाने के लिए भी इनका इस्तेमाल किया जा सकता है.
स्टैंडअलोन एक्सटेंशन बनाना
आपको जो उपयोगकर्ता अनुभव देना है उसके आधार पर, अपने Chrome ऐप्लिकेशन को एक्सटेंशन में बदलना सही रहेगा. उदाहरण के लिए, ब्राउज़र ऐक्शन बटन दिया जा सकता है, जो आपके यूज़र इंटरफ़ेस के लिए एक छोटी पॉप-अप विंडो दिखाता है या आपके एक्सटेंशन में दिए गए किसी पेज पर ले जाता है. यह यूज़र इंटरफ़ेस (यूआई) मॉडल उन ऐप्लिकेशन के लिए ज़्यादा सही हो सकता है जो अपना ज़्यादातर काम बैकग्राउंड में करते हैं.
किसी वेब ऐप्लिकेशन से Chrome एक्सटेंशन कनेक्ट करना
अगर आपका Chrome ऐप्लिकेशन ऐसी सुविधाएं देता है जो वेब प्लैटफ़ॉर्म पर उपलब्ध नहीं हैं, तो Chrome एक्सटेंशन को वेब ऐप्लिकेशन से कनेक्ट किया जा सकता है. साथ ही, उसे एक्सटेंशन एपीआई का ऐक्सेस दिया जा सकता है. इस तरीके का नुकसान यह है कि उपयोगकर्ताओं / आईटी एडमिन को दो अलग-अलग हिस्सों (वेब ऐप्लिकेशन और कंपैनियन एक्सटेंशन) को मैनेज करना पड़ता है. इस बात का ध्यान रखें कि कुछ ब्राउज़र पर 'Chrome एक्सटेंशन' नहीं चलाए जा सकते. आपको यह पता लगाना चाहिए कि ज़रूरी सुविधा कब उपलब्ध नहीं है. साथ ही, इन दूसरे ब्राउज़र पर उपयोगकर्ताओं को विस्तार से जानकारी देनी चाहिए.
मुझे वेब ऐप्लिकेशन बनाना चाहिए या Chrome एक्सटेंशन बनाना चाहिए?
वेब ऐप्लिकेशन, Chrome ऐप्लिकेशन से माइग्रेट करने की मुख्य टेक्नोलॉजी है. यहां कुछ ऐसे उदाहरण दिए गए हैं जिनमें Chrome एक्सटेंशन इस्तेमाल करने का बेहतर विकल्प हो सकता है. तय करने से पहले, अलग-अलग फ़ैक्टर के हिसाब से विश्लेषण करें कि कौनसा विकल्प बेहतर है:
- मकसद: Chrome एक्सटेंशन मुख्य रूप से, ब्राउज़र की सुविधाओं को बेहतर बनाने के लिए इस्तेमाल किए जाते हैं. सामान्य इस्तेमाल के उदाहरणों में ये शामिल हैं: उत्पादकता टूल, वेब पेज की सामग्री को बेहतर बनाना, और जानकारी इकट्ठा करना. वेब की पूरी शक्ति का इस्तेमाल करके वेब ऐप्लिकेशन में इस्तेमाल के उदाहरणों की ज़्यादा रेंज हो सकती है.
- उपयोगकर्ता अनुभव: आम तौर पर, Chrome एक्सटेंशन का यूज़र इंटरफ़ेस ज़्यादा सीमित होता है और उन्हें ब्राउज़र के साथ इंटिग्रेट करने के लिए डिज़ाइन किया जाता है. वेब ऐप्लिकेशन में एक बेहतरीन यूज़र इंटरफ़ेस हो सकता है जो खास ऐप्लिकेशन की तरह ही दिखता और महसूस होता है. साथ ही, इसे ज़रूरत के हिसाब से कस्टमाइज़ किया जा सकता है.
- पोर्टेबिलिटी: Chrome एक्सटेंशन, Chrome के लिए खास तौर पर बने होते हैं. कुछ ब्राउज़र (उदाहरण के लिए, Firefox और Edge), Chrome वाले एक जैसे एक्सटेंशन एपीआई के साथ काम करते हैं. हालांकि, यह सुविधा सभी के लिए उपलब्ध नहीं है. वेब ऐप्लिकेशन सभी ब्राउज़र पर काम करते हैं. हालांकि, ज़रूरी नहीं है कि सभी एपीआई हर एक ब्राउज़र पर काम करते हों.
- खोजने लायक बनाना: यह ज़रूरी है कि Chrome एक्सटेंशन, Chrome Web Store से या सेल्फ़ होस्टिंग की मदद से इंस्टॉल किए गए हों और ब्राउज़र टूलबार से ऐक्सेस किए गए हों. वेब ऐप्लिकेशन किसी यूआरएल के ज़रिए तुरंत लोड किए जा सकते हैं और सभी ब्राउज़र से ऐक्सेस किए जा सकते हैं. इन्हें वैकल्पिक रूप से इंस्टॉल किया जा सकता है, लेकिन ऐसा करना ज़रूरी नहीं है.
- सुविधा सेट: Chrome एक्सटेंशन, Chrome API के ज़रिए Chrome के साथ डीप इंटिग्रेशन होते हैं. लो-लेवल या सिस्टम-लेवल के टास्क में वेब ऐप्लिकेशन ज़्यादा सीमित हो सकते हैं. जैसा कि बताया गया है, सिर्फ़ एक्सटेंशन वाले एपीआई का ऐक्सेस पाने के लिए, किसी वेब ऐप्लिकेशन से एक्सटेंशन को कॉल किया जा सकता है.
- बैकग्राउंड में काम करने की सुविधा: Chrome एक्सटेंशन, ब्राउज़र विंडो बंद होने पर भी बैकग्राउंड में काम कर सकते हैं और चलते हैं. दूसरी ओर, वेब ऐप्लिकेशन आम तौर पर फ़ोरग्राउंड में चलने के लिए डिज़ाइन किए जाते हैं. साथ ही, इनमें बैकग्राउंड में काम करने की सीमित सुविधाएं होती हैं, जिनका इस्तेमाल ज़्यादातर परफ़ॉर्मेंस और विश्वसनीयता के लिए किया जाता है.
माइग्रेशन के चरण
आपके Chrome ऐप्स माइग्रेट करना
Chrome ऐप्लिकेशन से वेब ऐप्लिकेशन या Chrome एक्सटेंशन पर माइग्रेट करने के लिए, यह तरीका अपनाएं:
- अपने ऐप्लिकेशन के फ़ंक्शन का दायरा बढ़ाएं: कुछ मामलों में, आपका ऐप्लिकेशन यह तय करेगा कि आपको किसी वेब ऐप्लिकेशन का इस्तेमाल करना चाहिए या सिर्फ़ Chrome एक्सटेंशन बनाना है. ऐसे मामलों में जहां दोनों आपकी ज़रूरतों के मुताबिक हो सकते हैं, वहां आपके पास एक विकल्प होता है. हर टेक्नोलॉजी से क्या सुविधाएं मिलती हैं, इस बारे में ज़्यादा जानने के लिए, Web टूल की सुविधा वाली साइट और Chrome एक्सटेंशन API का रेफ़रंस देखें.
- जानें और बनाएं: टेक्नोलॉजी के बारे में जानने और अपने ऐप्लिकेशन को इस्तेमाल करने के लिए, सीखने-सिखाने से जुड़े संसाधनों का इस्तेमाल करें. इन टेक्नोलॉजी का इस्तेमाल शुरू करने के लिए, PWA की ट्रेनिंग और Chrome एक्सटेंशन का इस्तेमाल शुरू करना गाइड बेहतरीन संसाधन हैं.
- टेस्ट करें और डिस्ट्रिब्यूट करें: अपने नए ऐप्लिकेशन को बड़े पैमाने पर रोल आउट करने से पहले, कम से कम उपयोगकर्ताओं को उपलब्ध कराएं. इससे, यह पक्का किया जा सकेगा कि आपका नया ऐप्लिकेशन ठीक से काम कर रहा है. उन्हें बड़े पैमाने पर उपलब्ध कराने के लिए, वेब ऐप्लिकेशन को ब्राउज़र से ऐक्सेस और इंस्टॉल किया जा सकता है. Chrome एक्सटेंशन आम तौर पर, 'Chrome वेब स्टोर' के ज़रिए डिस्ट्रिब्यूट किए जाते हैं या खुद से होस्ट किए जाते हैं. मैनेज की जा रही स्थितियों में एडमिन, दोनों को ज़बरदस्ती इंस्टॉल कर सकते हैं.
अपने उपयोगकर्ताओं को माइग्रेट करें
आपने Chrome ऐप्स से माइग्रेट करने के लिए कोई भी टेक्नोलॉजी चुनी हो, आपको अपने उपयोगकर्ताओं को मौजूदा ऐप्लिकेशन को अनइंस्टॉल करने के लिए कहना होगा और उन्हें नए अनुभव के लिए गाइड करना होगा.
हमारा सुझाव है कि आप अपने ऐप्लिकेशन को अपडेट करें, ताकि इसमें यह जानकारी दी जा सके
कि इसे बंद कर दिया गया है. साथ ही, यह भी बताएं कि उपयोगकर्ता आपकी वेबसाइट या Chrome वेब स्टोर पर
जा सकते हैं. इसके बारे में ज़्यादा जानने के लिए, नीचे दिया गया उदाहरण देखें. आपके पास "अनइंस्टॉल करें" बटन भी शामिल करने का विकल्प है. यह बटन uninstallSelf()
तरीके को कॉल करता है.
Chrome 75 में, installReplacementWebApp()
तरीके का इस्तेमाल Chrome ऐप्लिकेशन में किया जा सकता है. ऐसा, बटन पर होने वाले क्लिक या उपयोगकर्ता के अन्य जेस्चर (हाव-भाव) के जवाब में किया जा सकता है. इससे, आपके दूसरे वेब ऐप्लिकेशन के लिए,
इंस्टॉलेशन फ़्लो को अपने-आप ट्रिगर करने में मदद मिलती है.
साथ ही, यह भी ध्यान रखा जाएगा कि Chrome Enterprise ब्राउज़र और ChromeOS एंटरप्राइज़ एडमिन को अपने संगठनों के लिए, ऐप्लिकेशन की नीतियां अपडेट करने के बारे में बताएं. आम तौर पर, Enterprise और Education मैनेज किए जा रहे उपयोगकर्ताओं के लिए अपने ऐप्लिकेशन और एक्सटेंशन, मैनेजमेंट नीति के ज़रिए अनइंस्टॉल न किए जा सकने वाले ऐप्लिकेशन और एक्सटेंशन के लिए आम तौर पर इंस्टॉल किए जाते हैं. डेवलपर को एडमिन को यह सूचना देनी चाहिए कि वे अपनी ExtensionInstallForcelist नीति (Chrome ऐप्लिकेशन इंस्टॉल करने में इस्तेमाल की जाती है) को अपडेट करें और इसे आपके वेब ऐप्लिकेशन के यूआरएल से WebAppInstallForceList नीति से बदलें.
सहायता
अगर आपके कुछ तकनीकी सवाल हैं, तो सहायता पाने के लिए यहां दिए गए संसाधनों का इस्तेमाल करें:
- Chrome ऐप्लिकेशन से वेब ऐप्लिकेशन या Chrome एक्सटेंशन पर माइग्रेट करने से जुड़े सवालों के लिए, Discord पर ChromeOS डेवलपर समुदाय से जुड़ें.
- वेब ऐप्लिकेशन की जो सुविधाएं मौजूद नहीं हैं उन्हें ठीक करने के लिए, क्षमताएं में एक नई सुविधा का अनुरोध करें. इसे Project Fugu भी कहा जाता है.