Yapı taşları ve uyumluluk
Mini uygulamalar, çalışması için süper uygulama gerektiren küçük (genellikle 2-4 MB) uygulamalardır. Süper uygulamadan bağımsız olarak bu biçimlerin ortak noktası, HTML, CSS ve JavaScript teknolojilerinin ("dilleri") kullanılarak oluşturulmasıdır. Mini uygulamaların çalışma zamanı, mini uygulamaları platformlar arası hale getiren temel işletim sistemi değil, süper uygulamadaki bir WebView'dür. Süper uygulama ister Android ister iOS ister başka bir işletim sisteminde çalışıyor olsun, aynı mini uygulama aynı süper uygulamada çalışabilir. Ancak mini uygulamaların tamamı her süper uygulamada çalışmayabilir. İlerleyen bölümlerde daha fazla özellik kullanıma sunulacaktır.
Discovery
Mini uygulamalar genellikle markalı 2D barkodlar aracılığıyla anlık keşfedilir. Bu da fiziksel bir restoran menüsünden mini ödeme uygulamasına veya fiziksel bir e-scooter'dan kiralık mini uygulamaya geçme gibi önemli bir çevrimdışından dijitale geçiş zorluğunu ortadan kaldırır. Aşağıdaki resimde, WeChat'in doğrudan mini uygulamasının andıran demosu mini uygulaması olan WeChat süper kodu içeren markalı 2D barkod örneği gösterilmektedir. Diğer süper uygulamalar genellikle barkodu tanıyamaz.
![WeChat markalı 2D barkod.](https://web.dev/static/articles/mini-apps/mini-app-about/image/wechat-branded-2d-barcode-e6ef7f80e48d8.jpg?authuser=5&hl=tr)
Mini uygulamalar ayrıca süper uygulamadaki normal uygulama içi arama yoluyla keşfedilebilir, sohbet mesajlarında paylaşılabilir veya haber feed'lerindeki bir haber öğesinin parçası olabilir. Bazı süper uygulamaların, profillerinde mini uygulamalar içerebilen doğrulanmış hesaplar özelliğini kullanma imkanı vardır. Mini uygulamalar fiziksel olarak coğrafi olarak yakın olduklarında (ör. önünde duran bir işletmenin mini uygulaması) veya neredeyse yakın olduklarında vurgulanabilir. Örneğin, kullanıcı süper uygulamada gösterilen harita üzerinde yol tarifi aldığında, sık kullanılan mini uygulamalar uygulama çekmecesinde bulunur. Bu çekmece, birçok süper uygulamada aşağı kaydırma hareketiyle veya süper uygulama menüsündeki özel bir bölümden erişilebilir.
Kullanıcı deneyimi
Tüm süper uygulamalar, mini uygulamalar için aşağı yukarı aynı kullanıcı arayüzüne sahiptir. Mini uygulamanın adının yer aldığı tematik üst çubuk ve ekranın üst köşesinde, en sağda yer alan kapat düğmesi, 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 olanağı sunan bir işlem menüsü içerir. 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 Shopping Mini uygulaması gösterilmektedir.
![Üst çubuğu, işlem menüsü düğmesi ve kapat düğmesi vurgulanmış alışveriş mini uygulamasını çalıştıran Alipay süper uygulaması. İşlem menüsü açılır.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-alipay-super-app-runn-39dde18ae385b.jpg?authuser=5&hl=tr)
Kullanıcı arayüzü paradigmaları
Genellikle mini uygulamanın ana gezinme bölümü için bir alt sekme çubuğu vardır. Çoğu süper uygulama sağlayıcısı, geliştiricilerin yaygın kullanıcı arayüzü paradigmalarını (bantlar, akordeonlar, ilerleme çubukları, döner çubuklar, anahtarlar, haritalar vb.) hızla uygulamasına yardımcı olan bileşenler sunar. Bu, WeChat'in Mini Program Tasarım Yönergeleri tarafından desteklenen farklı mini uygulamalar arasında kullanıcı deneyiminin tutarlı olmasına da yardımcı olur. Bu, Apple'ın Apple İnsan Arayüzü Yönergeleri ve Google'ın Android için Tasarım önerileri ile teşvik ettiğine benzer.
![Otomatik ilerleme, nokta göstergeleri vb. açma/kapatma düğmeleriyle Douyin kaydırma çubuğu (bant) bileşenini gösteren Douyin demo mini uygulaması](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-fbf61969fee88.png?authuser=5&hl=tr)
Sunma
Mini uygulamalar, parçalar halinde ayrı kaynaklar olarak sunulmak yerine, şifrelenmiş paket uygulamalar, yani tüm kaynakları yalnızca tek bir dosyada içeren arşivler olarak sunulur. Normal web uygulamalarının aksine bu uygulamalar mini uygulama yaratıcısının belirli bir kaynağından değil, doğrudan süper uygulama sağlayıcıdan sunulur. Kullanıcılar, mini uygulama oluşturucunun sunucularından API'lere yine erişebilir ancak temel kaynakların (genellikle uygulama kabuğu olarak adlandırılır) süper uygulama sağlayıcıdan sunulması gerekir. Mini uygulamaların ek veri istediği kaynakları beyan etmesi gerekir.
Önbelleğe alma, güncellemeler ve derin bağlantı oluşturma
Mini uygulamalar süper uygulamanın önbelleğinde tutulur. Böylece, kullanıcı önbelleğe alınmış bir mini uygulamayı bir sonraki açışı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. Lansman URI'sı, isteğe bağlı olarak mini uygulamanın istenilen sayfasını da içerir. Böylece, mini uygulamaların belirli sayfalarına derin bağlantı oluşturmak mümkündür. Mini uygulamalar, site haritası aracılığıyla hangi sayfalarının süper uygulama sağlayıcının mini uygulama tarayıcısı tarafından dizine eklenmesi gerektiğini bildirebilir.
![Önbelleğe alınmış WeChat mini uygulaması ".wxapkg" dosyalarının bulunduğu bir klasörü gösteren macOS Finder.](https://web.dev/static/articles/mini-apps/mini-app-about/image/macos-finder-showing-fol-d1f228bbf9ff2.png?authuser=5&hl=tr)
Güvenlik ve izinler
Mini uygulamalar, süper uygulama sağlayıcısı tarafından incelenir. Bu da, kullanıcıların bunları web uygulamalarından daha güvenli olarak algıladıkları anlamına gelir. Gerekli olabilecek izinleri, bir manifest veya mini uygulama yapılandırma dosyasında önceden beyan etmeleri gerekir. Bu dosyada, bazı sağlayıcılar için her iznin neden gerektiğiyle ilgili de açıklama yapılması gerekir. Mini uygulamalar tabii ki yalan söylemeye devam edebilir, ancak bunun nedenini anlamakta zorluk çekerler. Örneğin, kullanıcılar için görünür olan bir neden olmadan hareket sensörlerine erişmeye çalışırlar. Kullanıcı genellikle süper uygulamaya zaten giriş yapmış olduğundan kullanıcının parmak izi alma teşviki 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, platform tarafından zorunlu kılındığı takdirde geliştirici tarafından belirtilen kullanım gerekçesini de içeren bir istem gösterilir. Aşağıdaki ekran görüntüsünde, kullanıcıdan konumunu paylaşmak için izin istediği Douyin demo mini uygulaması gösterilmektedir. Bazı süper uygulamalarda, mini uygulamaların hemen kullanmadan izin istemek veya yalnızca bir iznin durumunu kontrol etmek için yararlanabileceği bir zorunlu API de vardır. Bu, merkezi süper uygulama izni ayarlarını açmak için bir API de içerebilir. Bu ayarlar, Chrome'un Site Ayarları'na karşılık gelir. Mini uygulamaların ayrıca veri isteyebilecekleri tüm sunucuların kaynaklarını önceden beyan etmeleri gerekir.
![İki seçenek içeren bir coğrafi konum istemi gösteren Douyin demo mini uygulaması: "İzin verilmiyor" ve "İzin veriliyor".](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-douyin-demo-mini-app-bab6b3dbfe49e.png?authuser=5&hl=tr)
Güçlü özelliklere erişim
Barındırma süper uygulaması, süper uygulama tarafından sunulan Web Görünümü'ne yerleştirilen bir JavaScript köprüsü üzerinden güçlü API'lere erişim sunar (bkz. Yapı taşları ve uyumluluk). Bu JavaScript köprüsü, işletim sisteminin API'lerine giden kancalar sağlar. Örneğin, getConnectedWifi()
gibi bir mini uygulama JavaScript işlevi (mini bir uygulamanın o anda etkin olan kablosuz ağın adını alma yeteneği) Android'in
getConnectionInfo()
API'si veya iOS
CNCopyCurrentNetworkInfo()
API'si aracılığıyla sağlanır. Yaygın süper uygulamalarda kullanılan güçlü cihaz API'lerine diğer örnekler şunlardır: 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 yuvaları, barkod tarama, cihaz bellek bilgileri ve daha fazlası.
![WeChat demo mini uygulaması, cihazın ekran parlaklığını kontrol eden bir kaydırma çubuğunu en üst düzeye çıkardı.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-wechat-demo-mini-app-964b40a49071.png?authuser=5&hl=tr)
Bulut hizmetlerine erişim
Birçok süper uygulama, süper uygulama sağlayıcının bulut hizmetlerine "sunucusuz" erişim imkanı da sunar. Bu hizmetler, ham bulut bilişimi ve bulut depolama alanının yanı sıra genellikle metin çevirisi, nesne algılama veya görüntülerde içerik sınıflandırma, konuşma tanıma veya diğer Makine Öğrenimi görevleri gibi üst düzey görevleri de içerir. Mini uygulamalar, 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şim kurduğ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şlamıştır. Burada kullanıcıların (bazen devlet tarafından doğrulanmış) bir kimlikleri, bir arkadaş veya takipçi ağı vardır ve genellikle ödeme verileri de saklanır. Örneğin, bir mini alışveriş uygulaması, tüm ödemeleri doğrudan süper uygulamanın ödeme API'leri aracılığıyla işleyebilir (veya bazen zorunludur) ve kullanıcının izninin ardından gönderim adresi, telefon numarası ve tam adı gibi kullanıcı verilerini alabilir. Üstelik tüm bunları kullanıcıyı formları zahmetli bir şekilde doldurmaya zorlamadan yapabilir. Aşağıda, WeChat'te ilk kez açılan ve beni tanıdık bir yüzle selamlayan Walmart mini uygulamasını görebilirsiniz.
!["Ben" sekmesinde yazarın yüzünü ve adını gösteren Walmart mini uygulaması.](https://web.dev/static/articles/mini-apps/mini-app-about/image/the-walmart-mini-app-show-87a18e926c07a.png?authuser=5&hl=tr)
Mini uygulamalar, kullanıcıların oyunda rekor kırma gibi başarılarını paylaşmalarını ve durum güncellemeleri aracılığıyla kişilerine meydan okumalarını sağlayarak son derece popüler hale gelebilir. Bu şekilde mini uygulama sadece bir dokunuş kadar yakınınızda. Böylece kullanıcılar sorunsuz bir şekilde rekabete girebiliyor ve mini uygulama bu sayede erişimini genişletebiliyor.
Teşekkür
Bu makale Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent ve Keith Gu tarafından incelenmiştir.