Apa itu aplikasi mini?

Aplikasi mini adalah aplikasi kecil (biasanya 2-4 MB) yang memerlukan aplikasi super agar dapat berjalan. Kesamaannya, terlepas dari aplikasi super, keduanya dibuat dengan ("dialek") teknologi web HTML, CSS, dan JavaScript. Runtime aplikasi mini adalah WebView pada aplikasi super, bukan sistem operasi yang mendasarinya, yang membuat aplikasi mini lintas platform. Aplikasi mini yang sama dapat berjalan di aplikasi super yang sama, terlepas dari apakah aplikasi super berjalan di Android, iOS, atau OS lain. Namun, tidak semua aplikasi mini dapat berjalan di semua aplikasi super, informasi selengkapnya tentang hal ini nanti.

Discovery

Aplikasi mini sering ditemukan ad-hoc melalui kode batang 2D bermerek, yang memecahkan tantangan penting dari offline ke online, misalnya, beralih dari menu restoran fisik ke aplikasi mini pembayaran, atau dari e-skuter fisik ke aplikasi mini penyewaan. Gambar di bawah menunjukkan contoh kode batang 2D bermerek untuk aplikasi mini demo WeChat. Jika kode dipindai secara langsung dengan aplikasi mini WeChat Aplikasi super lainnya biasanya tidak dapat mengenali kode batang.

Kode batang 2d bermerek WeChat.
Memindai kode batang 2D ini dengan aplikasi WeChat akan meluncurkan aplikasi mini demo.

Aplikasi mini juga dapat ditemukan melalui penelusuran dalam aplikasi reguler di aplikasi super, dibagikan dalam pesan chat, atau menjadi bagian dari item berita di feed berita. Beberapa aplikasi super memiliki gagasan akun terverifikasi yang dapat berisi aplikasi mini di profilnya. Aplikasi mini dapat disorot saat secara fisik dekat, seperti aplikasi mini bisnis di depan tempat pengguna berdiri, atau hampir dekat, seperti saat pengguna mendapatkan rute pada peta yang ditampilkan di aplikasi super. Aplikasi mini yang sering digunakan tersedia di panel samping aplikasi yang di banyak aplikasi super dapat diakses melalui gestur geser ke bawah atau melalui bagian khusus di menu aplikasi super.

Pengalaman pengguna

Semua aplikasi super memiliki lebih banyak atau lebih sedikit antarmuka pengguna yang sama untuk aplikasi mini. Panel atas bertema dengan nama aplikasi mini, dan, di sudut atas layar, tombol tutup di ujung kanan, yang diawali dengan menu tindakan yang memberikan akses ke fitur umum seperti berbagi aplikasi, menambahkannya ke daftar favorit atau layar utama, melaporkan aplikasi yang melanggar, memberikan masukan, dan setelan. Screenshot di bawah ini menampilkan aplikasi mini belanja yang berjalan dalam konteks aplikasi super Alipay dengan menu tindakan terbuka.

Aplikasi super Alipay menjalankan aplikasi mini belanja dengan panel atas yang ditandai, tombol menu tindakan, dan tombol tutup. Menu tindakan dibuka.
Menu tindakan terbuka di aplikasi belanja mini yang berjalan di aplikasi super Alipay.

Paradigma UI

Biasanya ada bilah tab bawah untuk navigasi utama aplikasi mini. Sebagian besar penyedia aplikasi super menawarkan komponen yang membantu developer menerapkan paradigma UI umum dengan cepat, seperti carousel, akordeon, status progres, indikator lingkaran berputar, tombol akses, peta, dan sebagainya. Hal ini juga membantu membuat pengalaman pengguna antara aplikasi mini yang berbeda menjadi konsisten, yang diharapkan oleh Panduan Desain Program Mini WeChat. Hal ini mirip dengan insentif yang diberikan Apple melalui Apple Human Interface Guidelines, dan Google dengan rekomendasi Design for Android.

Aplikasi mini demo Douyin menampilkan komponen penggeser Douyin (carousel) dengan tombol beralih untuk maju otomatis, indikator titik, dll.
Komponen penggeser (carousel) Douyin dengan berbagai opsi.

Serving

Aplikasi mini tidak ditampilkan sepotong demi bagian sebagai resource terpisah, tetapi aplikasi mini ditayangkan sebagai aplikasi terenkripsi yang dikemas sebagai arsip yang berisi semua resource hanya dalam satu file. Tidak seperti aplikasi web biasa, aplikasi juga tidak disalurkan dari asal tertentu pembuat aplikasi mini, tetapi dari penyedia aplikasi super secara langsung. Mereka masih dapat mengakses API dari server pembuat aplikasi mini, tetapi resource inti (umumnya disebut shell aplikasi), harus disalurkan dari penyedia aplikasi super. Aplikasi mini harus mendeklarasikan origin tempat aplikasi meminta data tambahan.

Menyimpan ke cache, pembaruan, dan deep-link

Aplikasi mini disimpan dalam cache aplikasi super, sehingga saat berikutnya pengguna meluncurkan aplikasi mini yang di-cache, aplikasi akan dimuat hampir seketika. Jika ada pembaruan, paket aplikasi baru akan dimuat. Nomor versi dapat menjadi bagian dari URI peluncuran (lihat Penemuan), sehingga aplikasi super mengetahui sejak awal apakah versi yang di-cache secara lokal masih yang terbaru. Secara opsional, URI peluncuran juga berisi halaman aplikasi mini yang diinginkan, sehingga deep linking ke halaman aplikasi mini tertentu dapat dilakukan. Melalui peta situs, aplikasi mini dapat mendeklarasikan halaman mana yang harus dapat diindeks oleh crawler aplikasi mini penyedia aplikasi super.

macOS Finder menampilkan folder yang berisi file `.wxapkg` aplikasi mini WeChat yang di-cache.
Aplikasi mini di-cache sebagai aplikasi paket terenkripsi.

Keamanan dan izin

Aplikasi mini ditinjau oleh penyedia aplikasi super, yang berarti pengguna menganggapnya lebih aman daripada aplikasi web. Mereka harus mendeklarasikan izin yang berpotensi diperlukan terlebih dahulu dalam manifes atau file konfigurasi aplikasi mini, yang juga memerlukan penjelasan bagi beberapa penyedia, alasan mengapa setiap izin diperlukan. Aplikasi mini tentu saja masih dapat berbohong, tetapi akan sulit untuk menjelaskan alasannya, misalnya, mencoba mengakses sensor gerakan tanpa alasan yang jelas bagi pengguna. Insentif untuk sidik jari pengguna jauh lebih rendah dibandingkan dengan web, karena pengguna biasanya sudah login ke aplikasi super (lihat Identitas, pembayaran, dan grafik sosial).

Setiap kali aplikasi mini menjalankan operasi yang memerlukan izin khusus, sebuah perintah akan ditampilkan kepada pengguna bahwa, jika diterapkan oleh platform, juga menyertakan justifikasi penggunaan, seperti yang dinyatakan oleh developer. Screenshot di bawah ini menampilkan aplikasi mini demo Douyin saat meminta izin kepada pengguna untuk membagikan lokasinya. Di beberapa aplikasi super, ada juga API imperatif yang dapat dimanfaatkan aplikasi mini untuk meminta izin tanpa langsung menggunakannya, atau untuk hanya memeriksa status izin. Ini bahkan dapat mencakup API untuk membuka setelan izin aplikasi super pusat, yang sesuai dengan Setelan Situs Chrome. Aplikasi mini juga harus mendeklarasikan terlebih dahulu asal semua server yang berpotensi akan diminta datanya.

Aplikasi mini demo Douyin menampilkan permintaan geolokasi dengan dua opsi: 'Not Allowed' dan 'Allowed'.
Aplikasi mini demo Douyin meminta izin geolokasi.

Akses ke fitur canggih

Aplikasi super hosting menawarkan akses ke API yang canggih melalui bridge JavaScript yang dimasukkan ke dalam WebView yang ditawarkan oleh aplikasi super (lihat Elemen penyusun dan kompatibilitas). Jembatan JavaScript ini menyediakan hook ke dalam API sistem operasi. Misalnya, fungsi JavaScript aplikasi mini seperti getConnectedWifi()—kemampuan aplikasi mini untuk mendapatkan nama jaringan Wi-Fi yang saat ini aktif—di balik layar akan difasilitasi melalui getConnectionInfo() API Android atau API CNCopyCurrentNetworkInfo() iOS. Contoh lain dari API perangkat canggih yang terekspos di aplikasi super umum adalah Bluetooth, NFC, iBeacon, GPS, papan klip sistem, sensor orientasi, informasi baterai, akses kalender, akses buku telepon, kontrol kecerahan layar, akses sistem file, hardware getaran untuk masukan fisik, akses kamera dan mikrofon, perekaman layar dan pembuatan screenshot, status jaringan, soket UDP, pemindaian kode batang, informasi memori perangkat, dan banyak lagi.

Aplikasi mini demo WeChat yang menampilkan penggeser yang mengontrol kecerahan layar perangkat yang dipindahkan sepenuhnya ke tingkat maksimum.
Aplikasi mini demo WeChat menyetel kecerahan layar perangkat ke maksimum.

Akses ke layanan cloud

Banyak aplikasi super juga menyediakan akses "tanpa server" ke layanan cloud penyedia aplikasi super yang, selain cloud computing mentah dan penyimpanan cloud, sering kali juga menyertakan tugas tingkat tinggi seperti terjemahan teks, deteksi objek, atau klasifikasi konten dalam gambar, pengenalan ucapan, atau tugas Machine Learning lainnya. Aplikasi mini dapat dimonetisasi dengan iklan, yang biasanya disediakan oleh penyedia aplikasi super. Platform aplikasi super biasanya juga menyediakan data analisis cloud, sehingga developer aplikasi mini dapat lebih memahami cara pengguna berinteraksi dengan aplikasi mereka.

Identitas, pembayaran, grafik sosial

Fitur yang sangat penting dari aplikasi mini adalah informasi identitas dan grafik sosial yang dibagikan dari aplikasi super. Aplikasi super seperti Douyin atau WeChat dimulai sebagai situs jaringan sosial dalam arti yang paling luas, tempat pengguna memiliki identitas (terkadang bahkan diverifikasi pemerintah), jaringan teman atau pengikut, dan sering kali juga menyimpan data pembayaran. Misalnya, aplikasi belanja mini dapat (atau terkadang bahkan harus) memproses pembayaran apa pun secara langsung melalui API pembayaran aplikasi super dan, atas izin pengguna, dapat memperoleh data pengguna seperti alamat pengiriman, nomor telepon, dan nama lengkap mereka, semuanya tanpa harus memaksa pengguna untuk mengisi formulir dengan berat. Di bawah ini, Anda dapat melihat aplikasi mini Walmart yang berjalan di WeChat, yang dibuka untuk pertama kalinya, menyapa saya dengan wajah yang tidak asing.

Aplikasi mini Walmart yang menampilkan wajah dan nama penulis di tab 'Saya'.
Aplikasi mini Walmart dengan tampilan "Saya" yang dipersonalisasi pada kunjungan pertama.

Aplikasi mini bisa menjadi sangat populer dengan memungkinkan pengguna membagikan pencapaian mereka, seperti skor tertinggi dalam game dan menantang kontak melalui update status. Aplikasi mini hanya dengan sekali ketuk sehingga pengguna dapat masuk ke dalam persaingan tanpa hambatan apa pun dan aplikasi mini dengan demikian memperluas jangkauannya.

Ucapan terima kasih

Artikel ini ditinjau oleh Joe Medley, Kayce Basques, Milica Mihajlija, Alan Kent, dan Keith Gu.