आपकी एक वेबसाइट है और आप चाहते हैं कि वह लोगों के फ़ोन पर ऐप की तरह हो। यह कैसे करें, खोजेंगे तो तीन शब्द बार-बार मिलेंगे: PWA, TWA और WebView। ये एक जैसे लगते हैं, सभी वेब पेज दिखाते हैं, और अक्सर इन्हें ठीक से समझाया नहीं जाता।
असल में ये काफ़ी अलग हैं, और सही चुनने से आप बहुत सारा दोबारा काम करने से बचते हैं। यह रहा कि हर एक क्या है, क्या कर सकता है और क्या नहीं, और कब यह सही रहता है।
विकल्प 1: Progressive Web App (PWA)
PWA एक ऐसी वेबसाइट है जो ज़्यादा ऐप जैसी चलती है। इसमें एक web app manifest (नाम, आइकन और कलर वाली एक छोटी JSON फ़ाइल) और आमतौर पर एक service worker होता है, यानी एक स्क्रिप्ट जो फ़ाइलों को कैश कर सकती है ताकि साइट बिना कनेक्शन के भी खुले। जब कोई सपोर्ट करने वाले ब्राउज़र में PWA खोलता है, तो वह उसे होम स्क्रीन पर इंस्टॉल कर सकता है। फिर वह बिना एड्रेस बार के अपनी अलग विंडो में खुलता है।
क्या अच्छा है: अलग से कोई ऐप बिल्ड नहीं करना पड़ता। आप अपनी वेबसाइट अपडेट करते हैं और हर यूज़र को नया वर्ज़न तुरंत मिल जाता है। service worker से आप इसे ऑफ़लाइन भी चला सकते हैं।
क्या सीमित है: लोगों को पहले आपकी साइट ढूँढनी होती है और फिर इंस्टॉल पर टैप करना होता है, जो कई लोग कभी नहीं करते। एक साधारण PWA ऐसी फ़ाइल नहीं है जिसे आप Google Play पर अपलोड कर सकें, और न ही ऐसा APK जो आप किसी को दे सकें। फ़ोन फ़ीचर्स तक पहुँच इस पर निर्भर है कि ब्राउज़र वेब API से क्या देता है।
किसके लिए सही: ऐसी साइटें जिन पर लोग पहले से अक्सर आते हैं, जहाँ इंस्टॉल करना मुख्य लक्ष्य नहीं बल्कि एक बोनस है।
विकल्प 2: Trusted Web Activity (TWA)
Trusted Web Activity एक छोटा Android ऐप है जो यूज़र के ब्राउज़र, जैसे Chrome, से आपके PWA को फ़ुल स्क्रीन में खोलता है। यह Custom Tabs प्रोटोकॉल पर बना है, इसलिए पेज को ऐप नहीं बल्कि ब्राउज़र खुद दिखाता है।
दो शर्तें हैं। पहली, यह साबित होना चाहिए कि आपकी साइट और आपका ऐप एक ही मालिक के हैं। यह Digital Asset Links से होता है: आप अपने डोमेन पर /.well-known/assetlinks.json पर एक फ़ाइल रखते हैं जिसमें आपके ऐप का पैकेज नाम और साइनिंग सर्टिफ़िकेट का फ़िंगरप्रिंट लिखा होता है। दूसरी, Google का डॉक्यूमेंटेशन कहता है कि आपकी साइट होम स्क्रीन पर जोड़ने की शर्तें पूरी करे, जिसका मतलब असल में manifest वाला सही PWA है। TWA बनाने के लिए Google का टूल Bubblewrap है, जो Node.js के लिए एक कमांड लाइन टूल है।
अगर वेरिफ़िकेशन फ़ेल हो जाए, या ब्राउज़र TWA सपोर्ट न करे, तो Google के अनुसार फ़ुल स्क्रीन की जगह एक साधारण ब्राउज़र टूलबार वाला Custom Tab खुलता है। लोगों को सबसे ज़्यादा यही चौंकाता है।
क्या अच्छा है: आपको एक असली Android ऐप मिलता है जो Google Play पर जा सकता है, और कंटेंट आपका लाइव PWA है, इसलिए वेब अपडेट तुरंत दिखते हैं।
क्या सीमित है: आपको एक चालू PWA और asset links फ़ाइल रखने के लिए डोमेन का कंट्रोल चाहिए। उस फ़ाइल का फ़िंगरप्रिंट उस की से मेल खाना चाहिए जिससे यूज़र्स का इंस्टॉल किया ऐप साइन हुआ है, और Play App Signing के साथ Google Play वाली कॉपी Google की ऐप साइनिंग की से साइन होती है, इसलिए Google सुझाव देता है कि उस की और आपकी अपलोड की, दोनों के फ़िंगरप्रिंट लिखें। फ़ोन फ़ीचर्स फिर भी सिर्फ़ वही हैं जो ब्राउज़र वेब API से देता है। और ऐप इस पर निर्भर है कि सपोर्ट करने वाला ब्राउज़र इंस्टॉल हो।
किसके लिए सही: वे टीमें जिनके अपने डोमेन पर पहले से मज़बूत PWA है और जो उसे कम से कम अतिरिक्त कोड के साथ Play Store में चाहती हैं।
विकल्प 3: WebView ऐप
WebView ऐप एक नेटिव Android ऐप है जो Android के WebView कॉम्पोनेंट से अपनी विंडो के अंदर वेब कंटेंट दिखाता है। WebView बिना ब्राउज़र वाला ब्राउज़र इंजन है: न एड्रेस बार, न टैब्स, बस आपका पेज। Google का डॉक्यूमेंटेशन इसे तब का विकल्प बताता है जब आप अपना वेब कंटेंट दिखाना चाहते हैं और UI में लचीलापन चाहते हैं।
TWA से बड़ा फ़र्क कंट्रोल का है। ऐप तय करता है कि बैक बटन पर क्या हो, स्प्लैश स्क्रीन कैसी दिखे, नेटिव मेन्यू हों या नहीं, नेटवर्क बंद होने पर क्या दिखे, और कौन-से लिंक ऐप के अंदर खुलें। Android WebView ऐप को addJavascriptInterface से JavaScript को नेटिव कोड से जोड़ने देता है, ताकि आपका पेज फ़ोन के असली फ़ीचर्स कॉल कर सके जो वेब पर नहीं मिलते। Google के डॉक्स एक ज़रूरी चेतावनी देते हैं: यह ब्रिज सिर्फ़ उसी HTML और JavaScript को दें जो आपने खुद लिखा हो।
क्या अच्छा है: किसी भी वेबसाइट या HTML फ़ाइलों के फ़ोल्डर के साथ काम करता है, PWA, manifest या asset links फ़ाइल की ज़रूरत नहीं। पेज ऐप के अंदर रखे जा सकते हैं ताकि वे ऑफ़लाइन तुरंत खुलें। नेटिव फ़ीचर्स एक ब्रिज के ज़रिए मिलते हैं।
क्या सीमित है: ऐप का अपना स्टोरेज होता है, इसलिए Chrome में आपकी वेबसाइट पर यूज़र का लॉगिन ऐप में नहीं आता। अगर आप लाइव साइट को रैप करते हैं, तो कुछ नेटिव बदलने की ज़रूरत पड़ने पर ऐप को अपडेट रखना आपकी ज़िम्मेदारी है।
किसके लिए सही: HTML ऐप्स, गेम्स, टूल्स, छोटे बिज़नेस की साइटें, कंपनी के अंदरूनी ऐप्स और हर वह चीज़ जिसे नेटिव अतिरिक्त फ़ीचर्स से फ़ायदा हो।
साथ-साथ तुलना
फ़ोन के फ़ीचर
- PWA: ब्राउज़र जो भी वेब API सपोर्ट करता है।
- TWA: वही, क्योंकि पेज को ब्राउज़र दिखाता है।
- WebView ऐप: वेब API और साथ में वह सब जो ऐप JavaScript ब्रिज के ज़रिए देता है।
ऑफ़लाइन
- PWA और TWA: अगर आपका service worker ज़रूरी चीज़ें कैश करता है तो ऑफ़लाइन काम करता है।
- WebView ऐप: ऐप के अंदर रखे पेज बिना service worker के ऑफ़लाइन चलते हैं; वेबसाइट ऐप्स अपनी ऑफ़लाइन स्क्रीन दिखा सकते हैं।
Google Play
- PWA: अपने आप नहीं। इसे पैकेज करना पड़ता है, आमतौर पर TWA के रूप में।
- TWA और WebView ऐप: दोनों सामान्य Android ऐप्स हैं और AAB के रूप में प्रकाशित किए जा सकते हैं।
Play का एक नियम TWA और WebView ऐप्स दोनों पर लागू होता है। Google Play की स्पैम पॉलिसी ऐसे ऐप्स की अनुमति नहीं देती जिनका मुख्य मकसद वेबसाइट के मालिक की अनुमति के बिना उस वेबसाइट का webview दिखाना हो। अपनी साइट को रैप करें, या ऐसी साइट जिसकी आपके पास अनुमति हो। Play बहुत सीमित काम वाले ऐप्स की भी अनुमति नहीं देता, इसलिए लोगों को बुकमार्क के बजाय ऐप इंस्टॉल करने की कोई वजह दें।
आपको कौन-सा चुनना चाहिए?
- आप बस अपनी साइट पर एक इंस्टॉल बटन चाहते हैं: PWA.
- आपके अपने डोमेन पर एक परिपक्व PWA है और आप उसे लाइव वेब कंटेंट के साथ Play पर चाहते हैं: TWA.
- आपको नेटिव फ़ीचर, ऑफ़लाइन HTML, मेन्यू और पूरा कंट्रोल चाहिए, या आपके पास PWA नहीं है: WebView ऐप.
Free HTML to APK यह कैसे करता है
Free HTML to APK WebView ऐप्स बनाता है। आप वेबसाइट URL, HTML फ़ाइलों, ZIP या फ़ोल्डर से शुरू कर सकते हैं, और साइन किया हुआ APK और Google Play के लिए AAB पा सकते हैं। freehtmltoapk.com पर वेबसाइट बिल्डर मुफ़्त है, अकाउंट नहीं माँगता और कोई वॉटरमार्क नहीं जोड़ता, और Android ऐप "HTML to APK: Website to App" आपके फ़ोन पर यही करता है।
आपके पेज फ़ोन फ़ीचर्स के लिए बिल्ट-इन FreeApp JavaScript ब्रिज इस्तेमाल कर सकते हैं, जैसे वाइब्रेशन, नोटिफ़िकेशन, कैमरा, QR और बारकोड स्कैनिंग, लोकेशन और फ़ाइलें शेयर करना। कॉल इतनी आसान है:
<button onclick="FreeApp.vibrate(30)">Tap</button>
ऐप के अंदर रखे HTML ऐप्स पूरी तरह ऑफ़लाइन चलते हैं, और वेबसाइट ऐप्स एक आसान ऑफ़लाइन पेज दिखाते हैं और कनेक्शन लौटने पर फिर से जुड़ जाते हैं। क्योंकि यह WebView ऐप है, इसलिए कोई Digital Asset Links फ़ाइल सेट नहीं करनी पड़ती। अगर आपके पास पहले से PWA है, तो ऐप के URL से लोड करने पर उसका service worker काम करता रहता है।
PWA से APK या वेबसाइट से ऐप पर और पढ़ें, और अपने प्रोजेक्ट के लिए सही रास्ता चुनें।