बिल्डिंग ब्लॉक और उसके साथ काम करने की सुविधा
मिनी ऐप्लिकेशन, छोटे ऐप्लिकेशन (आम तौर पर, 2-4 एमबी) होते हैं. इन्हें चलाने के लिए सुपर ऐप्लिकेशन की ज़रूरत होती है. उनमें आम तौर पर जो बात होती है वह सुपर ऐप्लिकेशन से अलग है. इन्हें वेब टेक्नोलॉजी एचटीएमएल, सीएसएस, और JavaScript से बनाया गया है. मिनी ऐप्लिकेशन का रनटाइम, सुपर ऐप्लिकेशन में मौजूद WebView होता है, न कि असली ऑपरेटिंग सिस्टम. इससे मिनी ऐप्लिकेशन एक प्लैटफ़ॉर्म से दूसरे प्लैटफ़ॉर्म पर जाते हैं. एक मिनी ऐप्लिकेशन, एक ही सुपर ऐप्लिकेशन में चल सकता है. इससे कोई फ़र्क़ नहीं पड़ता कि सुपर ऐप्लिकेशन Android, iOS या किसी दूसरे ओएस पर चलता है या नहीं. हालांकि, सभी सुपर ऐप्लिकेशन में सभी मिनी ऐप्लिकेशन नहीं चल सकते, बाद में के बारे में ज़्यादा जानकारी.
डिस्कवरी कैंपेन
मिनी ऐप्लिकेशन अक्सर ब्रैंडेड 2D बारकोड के ज़रिए ऐड-हॉक होते हैं. इससे ऑफ़लाइन से ऑनलाइन ऑनलाइन चुनौती पूरी होती है. उदाहरण के लिए, फ़िज़िकल रेस्टोरेंट मेन्यू से पेमेंट मिनी ऐप्लिकेशन तक या सामान्य ई-स्कूटर से किराये पर मिलने वाले मिनी ऐप्लिकेशन तक. नीचे दी गई इमेज, WeChat के डेमो मिनी ऐप्लिकेशन के लिए ऐसे ब्रैंडेड 2D बारकोड का उदाहरण दिखाती है. अन्य सुपर ऐप्लिकेशन आम तौर पर बारकोड नहीं पहचान पाएंगे.
![WeChat के ब्रैंड का 2d बारकोड.](https://web.dev/static/articles/mini-apps/mini-app-about/image/wechat-branded-2d-barcode-e6ef7f80e48d8.jpg?authuser=6&hl=hi)
सुपर ऐप्लिकेशन में सामान्य इन-ऐप्लिकेशन खोज करके भी मिनी ऐप्लिकेशन खोजे जा सकते हैं, उन्हें चैट मैसेज में शेयर किया जा सकता है या न्यूज़ फ़ीड में किसी समाचार आइटम का हिस्सा बनाया जा सकता है. कुछ सुपर ऐप्लिकेशन में ऐसे पुष्टि किए गए खाते होते हैं जिनकी प्रोफ़ाइल में मिनी ऐप्लिकेशन हो सकते हैं. मिनी ऐप्लिकेशन तब हाइलाइट किए जा सकते हैं, जब वे फ़िज़िकल तौर पर एक-दूसरे के पास होते हैं जैसे, किसी कारोबार का मिनी ऐप्लिकेशन जिसके सामने उपयोगकर्ता खड़ा होता है या वर्चुअल तौर पर बंद होता है, जैसे कि जब उपयोगकर्ता को सुपर ऐप्लिकेशन में दिखाए गए मैप पर निर्देश मिलते हैं. अक्सर इस्तेमाल किए जाने वाले मिनी ऐप्लिकेशन, ऐप्लिकेशन ड्रॉर में उपलब्ध होते हैं. कई सुपर ऐप्लिकेशन में उन्हें स्वाइप डाउन जेस्चर से या सुपर ऐप्लिकेशन मेन्यू के किसी खास सेक्शन से ऐक्सेस किया जा सकता है.
उपयोगकर्ता अनुभव
सभी सुपर ऐप्लिकेशन में मिनी ऐप्लिकेशन के लिए कुछ हद तक एक जैसा यूज़र इंटरफ़ेस होता है. थीम के हिसाब से बनाया जा सकने वाला एक टॉप बार, जिस पर मिनी ऐप्लिकेशन का नाम होता है और स्क्रीन के ऊपरी कोने में दाईं ओर, ऐक्शन मेन्यू होता है. इस बटन से सामान्य सुविधाओं का ऐक्सेस मिलता है. जैसे- ऐप्लिकेशन शेयर करना, उसे पसंदीदा सूची या होम स्क्रीन में जोड़ना, गलत ऐप्लिकेशन की शिकायत करना, सुझाव/राय देना या शिकायत करना, और सेटिंग देना. नीचे दिए गए स्क्रीनशॉट में एक शॉपिंग मिनी ऐप्लिकेशन दिखाया गया है, जो Alipay सुपर ऐप्लिकेशन के हिसाब से चल रहा है. इसमें ऐक्शन मेन्यू खोला गया है.
![Alipay सुपर ऐप्लिकेशन, एक शॉपिंग मिनी ऐप्लिकेशन चला रहा है. इसमें सबसे ऊपर वाला बार, ऐक्शन मेन्यू, और 'बंद करें' बटन है. ऐक्शन मेन्यू खुल गया है.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-alipay-super-app-runn-39dde18ae385b.jpg?authuser=6&hl=hi)
यूज़र इंटरफ़ेस (यूआई) के मॉडल
आम तौर पर, मिनी ऐप्लिकेशन के मुख्य नेविगेशन के लिए, सबसे नीचे एक टैब बार होता है. ज़्यादातर सुपर ऐप्लिकेशन प्रोवाइडर कॉम्पोनेंट ऑफ़र करते हैं. इससे डेवलपर को सामान्य यूज़र इंटरफ़ेस (यूआई) मॉडल को तुरंत लागू करने में मदद मिलती है, जैसे कि कैरसेल, अकॉर्डियन, प्रोग्रेस बार, स्पिनर, स्विच, मैप वगैरह. इससे अलग-अलग मिनी ऐप्लिकेशन के बीच उपयोगकर्ता अनुभव को एक जैसा बनाए रखने में भी मदद मिलती है. WeChat के Mini Program के डिज़ाइन से जुड़े दिशा-निर्देशों को ऐसा करने की सलाह दी जाती है. यह वैसे ही है जैसा Apple अपने Apple ह्यूमन इंटरफ़ेस के दिशा-निर्देशों और Google के डिज़ाइन for Android सुझावों के साथ देता है.
![Douyin डेमो मिनी ऐप्लिकेशन में Douyin स्लाइडर (कैरसेल) कॉम्पोनेंट और अपने-आप आगे बढ़ने के टॉगल, डॉट इंडिकेटर वगैरह दिखाए गए हैं.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-fbf61969fee88.png?authuser=6&hl=hi)
सेवा में है
छोटे-छोटे ऐप्लिकेशन, एक-एक करके अलग-अलग रिसॉर्स के तौर पर इस्तेमाल नहीं किए जाते. इसके बजाय, वे एन्क्रिप्ट (सुरक्षित) किए गए, पैकेज किए गए ऐप्लिकेशन की तरह पेश किए जाते हैं. इसका मतलब है कि वे सभी संसाधन एक ही फ़ाइल में संग्रहित किए जाते हैं. सामान्य वेब ऐप्लिकेशन से अलग, इन्हें मिनी ऐप्लिकेशन बनाने वाले किसी खास ऑरिजिन से नहीं, बल्कि सीधे सुपर ऐप्लिकेशन प्रोवाइडर से दिखाया जाता है. वे अब भी मिनी ऐप्लिकेशन बनाने वाले के सर्वर से एपीआई ऐक्सेस कर सकते हैं, लेकिन मुख्य रिसॉर्स (आम तौर पर, ऐप्लिकेशन शेल कहा जाता है) को सुपर ऐप्लिकेशन प्रोवाइडर की मदद से ही ऐक्सेस किया जाना चाहिए. Mini ऐप्लिकेशन को उन ऑरिजिन के बारे में बताना होगा जिनसे वे ज़्यादा डेटा का अनुरोध करते हैं.
कैश मेमोरी में सेव करना, अपडेट करना, और डीप लिंकिंग
मिनी ऐप्लिकेशन, सुपर ऐप्लिकेशन की कैश मेमोरी में सेव रहते हैं. इसलिए, जब उपयोगकर्ता अगली बार कैश मेमोरी में सेव किया गया मिनी ऐप्लिकेशन लॉन्च करता है, तो वह तुरंत लोड हो जाता है. कोई अपडेट होने पर, एक नया ऐप्लिकेशन पैकेज लोड हो जाता है. वर्शन नंबर, लॉन्च यूआरआई (डिस्कवरी देखें) का हिस्सा हो सकता है. इसलिए, सुपर ऐप्लिकेशन को शुरुआत में ही पता चल जाता है कि लोकल कैश मेमोरी में सेव किया गया वर्शन अब भी नया है या नहीं. लॉन्च यूआरआई में वैकल्पिक तौर पर मिनी ऐप्लिकेशन का मनमुताबिक पेज भी शामिल होता है, ताकि मिनी ऐप्लिकेशन के खास पेजों में डीप-लिंक किया जा सके. साइटमैप की मदद से, मिनी ऐप्लिकेशन यह बता सकते हैं कि सुपर ऐप्लिकेशन देने वाली कंपनी के मिनी ऐप्लिकेशन क्रॉलर के ज़रिए उनके कौनसे पेज इंडेक्स किए जाने चाहिए.
![macOS Finder, कैश मेमोरी में सेव किए गए, WeChat मिनी ऐप्लिकेशन `.wxapkg` फ़ाइलों वाला फ़ोल्डर दिखा रहा है.](https://web.dev/static/articles/mini-apps/mini-app-about/image/macos-finder-showing-fol-d1f228bbf9ff2.png?authuser=6&hl=hi)
सुरक्षा और अनुमतियां
मिनी ऐप्लिकेशन की समीक्षा, सुपर ऐप्लिकेशन उपलब्ध कराने वाली कंपनी करती है. इसका मतलब है कि उपयोगकर्ता, इन ऐप्लिकेशन को वेब ऐप्लिकेशन से ज़्यादा सुरक्षित मानते हैं. उन्हें मेनिफ़ेस्ट या मिनी ऐप्लिकेशन कॉन्फ़िगरेशन फ़ाइल में, अपनी संभावित रूप से ज़रूरी अनुमतियों के बारे में पहले ही जानकारी देनी होती है. इसके लिए, कुछ कंपनियों को यह भी बताना होता है कि हर अनुमति की ज़रूरत क्यों है. मिनी ऐप्लिकेशन इस बात से अब भी झूठ बोल सकते हैं, लेकिन उन्हें ऐसा करने में मुश्किल होगी. जैसे, मोशन सेंसर ऐक्सेस करने की कोशिश, उपयोगकर्ता को साफ़ तौर पर जानकारी दिए बिना. उपयोगकर्ता को फ़िंगरप्रिंट से बनाया जाने वाला इंसेंटिव, वेब की तुलना में बहुत कम है, क्योंकि उपयोगकर्ता आम तौर पर, सुपर ऐप्लिकेशन में पहले से ही लॉग इन रहता है (पहचान, पैसे चुकाने का तरीका, और सोशल ग्राफ़ देखें).
जब भी मिनी ऐप्लिकेशन कोई ऐसी कार्रवाई करता है जिसके लिए खास अनुमति की ज़रूरत होती है, तो उपयोगकर्ता को एक प्रॉम्प्ट दिखाया जाता है. अगर प्लैटफ़ॉर्म ने ऐप्लिकेशन लागू किया है, तो उसमें इस्तेमाल की वह वजह भी बताई जाती है जिसके बारे में डेवलपर ने बताया है. नीचे दिए गए स्क्रीनशॉट में, Douyin मीटिंग मिनी ऐप्लिकेशन दिखाया गया है, जो लोगों से उनकी जगह की जानकारी शेयर करने की अनुमति मांगता है. कुछ सुपर ऐप्लिकेशन में एक इंपेरेटिव एपीआई भी होता है, जिसका इस्तेमाल करके मिनी ऐप्लिकेशन तुरंत इस्तेमाल किए बिना अनुमतियों के अनुरोध कर सकते हैं या अनुमति की स्थिति की जांच कर सकते हैं. इसमें Chrome की साइट की सेटिंग से जुड़ी सेंट्रल सुपर ऐप्लिकेशन अनुमति सेटिंग खोलने के लिए, एक एपीआई भी शामिल हो सकता है. Mini ऐप्लिकेशन को उन सभी सर्वर के ऑरिजिन के बारे में पहले ही बताना होगा जिनसे वे डेटा पाने का अनुरोध करेंगे.
![Douyin डेमो मिनी ऐप्लिकेशन, किसी जगह की जानकारी का प्रॉम्प्ट दिखा रहा है, जिसमें दो विकल्प हैं: 'अनुमति नहीं है' और 'अनुमति है'.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-bab6b3dbfe49e.png?authuser=6&hl=hi)
बेहतरीन सुविधाओं का ऐक्सेस
होस्ट करने वाला सुपर ऐप्लिकेशन, एक JavaScript ब्रिज के ज़रिए दमदार एपीआई का ऐक्सेस देता है, जो सुपर ऐप्लिकेशन से मिलने वाले वेबव्यू में इंजेक्ट किया जाता है. (बिल्डिंग ब्लॉक और काम करना देखें). यह JavaScript ब्रिज,
ऑपरेटिंग सिस्टम के एपीआई को हुक मुहैया कराता है. उदाहरण के लिए, getConnectedWifi()
जैसा मिनी ऐप्लिकेशन JavaScript फ़ंक्शन, Android के
getConnectionInfo()
एपीआई या iOS'
CNCopyCurrentNetworkInfo()
एपीआई की मदद से, मौजूदा चालू वाई-फ़ाई नेटवर्क का नाम हासिल करने की सुविधा देता है. सामान्य सुपर ऐप्लिकेशन में दिखने वाले दमदार डिवाइस एपीआई के अन्य उदाहरण हैं ब्लूटूथ, एनएफ़सी, iBeacon, जीपीएस, सिस्टम क्लिपबोर्ड, ओरिएंटेशन सेंसर, बैटरी की जानकारी, कैलेंडर ऐक्सेस, फ़ोनबुक
ऐक्सेस, स्क्रीन की चमक कंट्रोल, फ़ाइल सिस्टम ऐक्सेस, फ़िज़िकल फ़ीडबैक के लिए वाइब्रेशन हार्डवेयर,
कैमरा और माइक्रोफ़ोन ऐक्सेस, स्क्रीन रिकॉर्डिंग और स्क्रीनशॉट क्रिएशन, नेटवर्क स्टेटस, यूडीपी सॉकेट,
बारकोड स्कैनिंग, डिवाइस की मेमोरी की जानकारी वगैरह.
![WeChat के डेमो मिनी ऐप्लिकेशन में, एक स्लाइडर दिख रहा है. यह स्लाइडर, डिवाइस की स्क्रीन की चमक को सबसे ज़्यादा कंट्रोल करता है.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-wechat-demo-mini-app-964b40a49071.png?authuser=6&hl=hi)
क्लाउड सेवाओं का ऐक्सेस
कई सुपर ऐप्लिकेशन, सुपर ऐप्लिकेशन देने वाली कंपनी की क्लाउड सेवाओं के लिए "सर्वरलेस" ऐक्सेस भी देते हैं. इसमें रॉ क्लाउड कंप्यूटिंग और क्लाउड स्टोरेज के अलावा, अक्सर हाई लेवल के टास्क भी शामिल होते हैं. जैसे, टेक्स्ट का अनुवाद, चीज़ों का पता लगाना या इमेज में कॉन्टेंट की कैटगरी तय करना, बोली की पहचान करना या मशीन लर्निंग से जुड़े दूसरे टास्क. Mini ऐप्लिकेशन पर विज्ञापन दिखाकर कमाई की जा सकती है. ये विज्ञापन आम तौर पर, सुपर ऐप्लिकेशन बनाने वाली कंपनियां उपलब्ध कराती हैं. सुपर ऐप्लिकेशन प्लैटफ़ॉर्म आम तौर पर क्लाउड ऐनलिटिक्स डेटा भी उपलब्ध कराते हैं, ताकि मिनी ऐप्लिकेशन डेवलपर बेहतर तरीके से समझ सकें कि उपयोगकर्ता उनके ऐप्लिकेशन से कैसे इंटरैक्ट करते हैं.
पहचान, पैसे चुकाने का तरीका, सोशल ग्राफ़
मिनी ऐप्लिकेशन की एक अहम सुविधा है, पहचान और सोशल ग्राफ़ की जानकारी, जिसे सुपर ऐप्लिकेशन से शेयर किया जाता है. Douyin या WeChat जैसे सुपर ऐप्लिकेशन की शुरुआत, सोशल नेटवर्किंग साइटों के तौर पर की गई थी. इनका इस्तेमाल, कभी-कभी सरकार की ओर से पुष्टि की गई पहचान, दोस्त या फ़ॉलोअर का नेटवर्क, और पेमेंट का डेटा सेव करके किया जाता था. उदाहरण के लिए, कोई शॉपिंग मिनी ऐप्लिकेशन सीधे सुपर ऐप्लिकेशन के पेमेंट एपीआई से पेमेंट कर सकता है (या कभी-कभी ज़रूरी भी होता है) और उपयोगकर्ता की सहमति मिलने पर उसका शिपिंग पता, फ़ोन नंबर, और पूरा नाम जैसा डेटा भी ले सकता है. यह सब कुछ उपयोगकर्ता को परेशानी भरे फ़ॉर्म भरने के लिए मजबूर नहीं करना पड़ता. नीचे, आपको WeChat में चलने वाला Walmart Mini ऐप्लिकेशन दिख रहा है. यह पहली बार खुला है. इस ऐप्लिकेशन का इस्तेमाल करने के लिए, मुझे एक जाने-पहचाने चेहरे से स्वागत करना है.
![Walmart का मिनी ऐप्लिकेशन, 'मैं' टैब पर लेखक का चेहरा और नाम दिखा रहा है.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-walmart-mini-app-show-87a18e926c07a.png?authuser=6&hl=hi)
Mini ऐप्लिकेशन काफ़ी लोकप्रिय हो सकते हैं. ऐसा, लोगों को किसी गेम में सबसे ज़्यादा स्कोर जैसी उपलब्धियां शेयर करने की सुविधा देकर, स्टेटस अपडेट की मदद से उनके संपर्कों को चैलेंज देने की सुविधा देता है. ऐसे में मिनी ऐप्लिकेशन सिर्फ़ एक टैप दूर है, ताकि उपयोगकर्ता बिना किसी रुकावट के मुकाबले में शामिल हो सकें और मिनी ऐप्लिकेशन की पहुंच बढ़ जाए.
स्वीकारें
इस लेख की समीक्षा जो मेडले, कायस बैस्क्स, मिलिका मिहाज्लीजा, ऐलन केंट, और कीथ गू ने की है.