Yapı taşları ve uyumluluk
Mini uygulamalar, çalıştırmak için süper uygulama gerektiren küçük (genellikle 2-4 MB) uygulamalardır. Süper uygulamadan bağımsız olarak, bu uygulamaların ortak özelliği, web teknolojileri HTML, CSS ve JavaScript ile ("lehçeleri") oluşturulmuş olmalarıdır. Mini uygulamaların çalışma zamanı, temel işletim sistemi değil, süper uygulamadaki bir WebView'dir. Bu da mini uygulamaların platformlar arası olmasını sağlar. Aynı mini uygulama, süper uygulama Android, iOS veya başka bir işletim sisteminde çalışıyor olsa bile aynı süper uygulamada çalışabilir. Ancak tüm mini uygulamalar tüm süper uygulamalarda çalışamaz. Bu konu hakkında daha fazla bilgiyi daha sonra bulabilirsiniz.
Discovery
Mini uygulamalar genellikle markalı 2D barkodlar aracılığıyla geçici olarak keşfedilir. Bu, çevrimdışından çevrimiçiye geçişle ilgili önemli bir sorunu çözer. Örneğin, fiziksel bir restoran menüsünden ödeme mini uygulamasına veya fiziksel bir e-scooter'dan kiralama mini uygulamasına geçiş yapılabilir. Aşağıdaki resimde, WeChat'in demo mini uygulaması için bu tür bir markalı 2D barkod örneği gösterilmektedir. Kod, WeChat süper uygulamasıyla tarandığı zaman mini uygulama doğrudan açılır. Diğer süper uygulamalar genellikle barkodu tanıyamaz.

Mini uygulamalar, süper uygulamadaki normal uygulama içi arama üzerinden de keşfedilebilir, sohbet mesajlarında paylaşılabilir veya bir haber feed'indeki haber öğesinin parçası olabilir. Bazı süper uygulamalarda, profillerinde mini uygulamalar içerebilen doğrulanmış hesap kavramı vardır. Mini uygulamalar, kullanıcının önünde duran bir işletmenin mini uygulaması gibi fiziksel olarak coğrafi olarak yakın olduğunda veya kullanıcının süper uygulamada gösterilen bir haritada yol tarifi aldığı durumlarda sanal olarak yakın olduğunda öne çıkarılabilir. Sık kullanılan mini uygulamalar, birçok süper uygulamada aşağı kaydırma hareketi veya süper uygulama menüsündeki özel bir bölüm aracılığıyla erişilebilen bir uygulama çekmecesinde bulunur.
Kullanıcı deneyimi
Tüm süper uygulamalarda mini uygulamalar için aşağı yukarı aynı kullanıcı arayüzü bulunur. Mini uygulamanın adını içeren temalanabilir bir üst çubuk ve ekranın üst köşesinde, sağ taraftaki kapat düğmesinin önünde uygulamayı paylaşma, favoriler listesine veya ana ekrana ekleme, kötüye kullanım amaçlı uygulamaları bildirme, geri bildirim sağlama ve ayarlar gibi sık kullanılan özelliklere erişim sağlayan bir işlem menüsü bulunur. Aşağıdaki ekran görüntüsünde, Alipay süper uygulaması bağlamında çalışan ve işlem menüsü açık olan bir alışveriş mini uygulaması gösterilmektedir.

Kullanıcı arayüzü paradigmaları
Mini uygulamanın ana gezinme menüsü genellikle alt kısımda bir sekme çubuğuna sahiptir. Çoğu süper uygulama sağlayıcı, geliştiricilerin bantlar, akordeonlar, ilerleme çubukları, döndürücüler, anahtarlar, haritalar gibi yaygın kullanıcı arayüzü paradigmalarını hızlı bir şekilde uygulamalarına yardımcı olan bileşenler sunar. Bu, farklı mini uygulamalar arasındaki kullanıcı deneyiminin tutarlı hale getirilmesine de yardımcı olur. Bu durum, WeChat'in Mini Program Tasarım Kuralları'nda da teşvik edilir. Bu, Apple'ın Apple Kullanıcı Arayüzü Kuralları ile, Google'ın ise Android için Tasarım önerileriyle teşvik ettiğine benzer.

Sunma
Mini uygulamalar, ayrı kaynaklar olarak parça parça sunulmak yerine şifrelenmiş paketlenmiş uygulamalar olarak, yani tüm kaynakları tek bir dosyada içeren arşivler olarak sunulur. Ayrıca, normal web uygulamalarının aksine, mini uygulama oluşturucunun belirli kaynağından değil, doğrudan süper uygulama sağlayıcısından yayınlanır. Mini uygulama oluşturucunun sunucularından API'lere erişmeye devam edebilirler ancak temel kaynaklar (genellikle uygulama kabuğu olarak adlandırılır) süper uygulama sağlayıcısından sunulmalıdır. Mini uygulamaların, ek veri isteğinde bulundukları kaynakları belirtmesi gerekir.
Önbelleğe alma, güncellemeler ve derin bağlantılar
Mini uygulamalar, süper uygulamanın önbelleğinde saklanır. Bu nedenle, kullanıcı bir sonraki sefer önbelleğe alınmış bir mini uygulamayı başlattığında uygulama neredeyse anında yüklenir. Güncelleme varsa yeni bir uygulama paketi yüklenir. Sürüm numarası, başlatma URI'sinin bir parçası olabilir (Keşif bölümüne bakın). Böylece süper uygulama, yerel olarak önbelleğe alınan sürümün hâlâ güncel olup olmadığını erkenden bilir. Başlatma URI'si isteğe bağlı olarak mini uygulamanın istenen sayfasını da içerir. Bu nedenle, mini uygulamaların belirli sayfalarına derin bağlantı oluşturabilirsiniz. Mini uygulamalar, site haritası aracılığıyla hangi sayfalarının süper uygulama sağlayıcının mini uygulama tarayıcısıyla dizine eklenebileceğini belirtebilir.

Güvenlik ve izinler
Mini uygulamalar, süper uygulama sağlayıcısı tarafından incelenir. Bu sayede kullanıcılar, mini uygulamaları web uygulamalarına kıyasla daha güvenli olarak algılar. Olası olarak gerekli izinlerini önceden bir manifest veya mini uygulama yapılandırma dosyasında beyan etmeleri gerekir. Bazı sağlayıcılar için her iznin neden gerekli olduğuna dair açıklamalar da gereklidir. Mini uygulamalar elbette yalan söyleyebilir ancak kullanıcıya açık bir neden olmadan hareket sensörlerine erişmeye çalıştıklarını gerekçelendirmekte zorlanırlar. Kullanıcının parmak izini alma teşviki, kullanıcı genellikle süper uygulamada zaten oturum açmış olduğundan web'e kıyasla çok daha düşüktür (Kimlik, ödeme ve sosyal grafik bölümüne bakın).
Mini uygulamalar özel izin gerektiren bir işlem gerçekleştirdiğinde kullanıcıya bir istem gösterilir. Bu istem, platform tarafından zorunlu kılınırsa geliştiricinin belirttiği kullanım gerekçesini de içerir. Aşağıdaki ekran görüntüsünde, kullanıcıdan konumunu paylaşma izni isteyen Douyin demo mini uygulaması gösterilmektedir. Bazı süper uygulamalarda, mini uygulamaların izinleri hemen kullanmadan istemek veya yalnızca bir iznin durumunu kontrol etmek için kullanabileceği zorunlu bir API de bulunur. Hatta merkezi süper uygulama izin ayarlarını açmak için bir API bile içerebilir. Bu API, Chrome'un Site Ayarları'na karşılık gelir. Mini uygulamaların, veri isteğinde bulunabilecekleri tüm sunucuların kaynaklarını da önceden bildirmesi gerekir.

Güçlü özelliklere erişim
Barındıran süper uygulama, süper uygulama tarafından sunulan WebView'e enjekte edilen bir JavaScript köprüsü aracılığıyla güçlü API'lere erişim sunar (Yapı taşları ve uyumluluk bölümüne bakın). Bu JavaScript köprüsü, işletim sisteminin API'lerine bağlantı sağlar. Örneğin, getConnectedWifi()
gibi bir mini uygulama JavaScript işlevi (mini uygulamanın etkin durumdaki kablosuz ağın adını alma özelliği) Android'in getConnectionInfo()
API'si veya iOS'in CNCopyCurrentNetworkInfo()
API'si aracılığıyla desteklenir. Yaygın süper uygulamalarda sunulan güçlü cihaz API'lerine örnek olarak Bluetooth, NFC, iBeacon, GPS, sistem panosu, yön sensörleri, pil bilgileri, takvim erişimi, telefon rehberi erişimi, ekran parlaklığı kontrolü, dosya sistemi erişimi, fiziksel geri bildirim için titreşim donanımı, kamera ve mikrofon erişimi, ekran kaydı ve ekran görüntüsü oluşturma, ağ durumu, UDP soketleri, barkod taraması, cihaz belleği bilgileri ve daha fazlası verilebilir.

Bulut hizmetlerine erişim
Birçok süper uygulama, süper uygulama sağlayıcının bulut hizmetlerine "sunucusuz" erişim de sağlar. Bu erişim, ham bulut bilişim ve bulut depolama dışında genellikle metin çevirisi, görüntülerde nesne algılama veya içerik sınıflandırma, konuşma tanıma ya da diğer makine öğrenimi görevleri gibi daha üst düzey görevleri de içerir. Mini uygulamalardan, genellikle süper uygulama sağlayıcılar tarafından sunulan reklamlarla para kazanılabilir. Süper uygulama platformları genellikle bulut analiz verileri de sağlar. Böylece mini uygulama geliştiricileri, kullanıcıların uygulamalarıyla nasıl etkileşimde bulunduğunu daha iyi anlayabilir.
Kimlik, ödeme, sosyal grafik
Mini uygulamaların çok önemli bir özelliği, süper uygulamadan paylaşılan kimlik ve sosyal grafik bilgileridir. Douyin veya WeChat gibi süper uygulamalar, en geniş anlamıyla sosyal ağ siteleri olarak başladı. Bu sitelerde kullanıcıların kimliği (bazen resmi makamlarca doğrulanmış), arkadaş veya takipçi ağı ve sıklıkla da ödeme verileri depolanır. Örneğin, bir alışveriş mini uygulaması tüm ödemeleri doğrudan süper uygulamanın ödeme API'leri üzerinden işleyebilir (veya bazen işlemelidir) ve kullanıcının izniyle gönderim adresi, telefon numarası ve tam adı gibi kullanıcı verilerini alabilir. Tüm bunları yaparken de kullanıcıyı formları doldurmaya zorlamak zorunda kalmaz. Aşağıda, WeChat'te çalışan Walmart mini uygulamasını görebilirsiniz. Uygulama ilk kez açılmış ve beni tanıdık bir yüzle karşılıyor.

Mini uygulamalar, kullanıcıların oyundaki yüksek puanlar gibi başarılarını paylaşmasına ve durum güncellemeleri aracılığıyla kişilerine meydan okumasına olanak tanıyarak çok popüler olabilir. Mini uygulama, yalnızca bir dokunma mesafesinde olduğundan kullanıcılar yarışmaya sorunsuz bir şekilde katılabilir ve mini uygulamanın erişimi artar.
Teşekkür ederiz
Bu makale, Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent ve Keith Gu tarafından incelendi.