Lay of the Land

Peter Conn
Peter Conn

Ada cukup banyak ekosistem terkait Aktivitas Web Tepercaya dan mungkin cukup sulit untuk melihat bagaimana semuanya terkait dan apa yang harus Anda gunakan. Artikel ini berharap dapat mengatasi masalah tersebut.

Jika Anda baru mengenal Aktivitas Web Tepercaya atau hanya mencari rekomendasi serangkaian alat yang harus Anda gunakan saat ini, berikut hal yang perlu Anda ketahui:

  • Bubblewrap: alat NodeJS yang memungkinkan developer membuat dan membangun APK Android yang menggabungkan PWA yang ada. Aplikasi yang dibuat didukung oleh Aktivitas Web Tepercaya, tetapi hal ini transparan kepada developer. Tidak diperlukan pengalaman pengembangan Android. Periksa dokumentasi Bubblewrap untuk memulai.
  • android-browser-helper: Library Android yang merangkum protokol Aktivitas Web Tepercaya. Direkomendasikan untuk developer yang memahami pengembangan Android dan ingin menggunakan Aktivitas Web Tepercaya sebagai salah satu Aktivitas di Aplikasi Android mereka atau membuat penyesuaian yang tidak didukung oleh Bubblewrap. Untuk mulai menggunakan android-browser-helper, lihat dokumentasi dan demo kami.

Bagian berikutnya memberikan ringkasan singkat tentang semua proyek yang terkait satu sama lain. Terakhir (bagi yang penasaran) ada bagian sejarah untuk menunjukkan bagaimana kita sampai di sini dan tujuan kita dalam waktu dekat.

Ringkasan library

Berikut ringkasan satu kalimat singkat dari setiap library yang mungkin akhirnya Anda gunakan:

  • androidx.browser, library Android untuk berinteraksi dengan browser yang diinstal di perangkat pengguna.
  • Pemandu Browser Android, library yang dibangun di androidx.browser untuk klien Aktivitas Web Tepercaya yang menyediakan metode praktis dan default yang logis.
  • Bubblewrap, alat untuk membuat Aktivitas Web Tepercaya dari PWA tanpa menyentuh kode Java apa pun.

Selain itu, setiap library/alat ini menggantikan library/alat lama:

Histori

Android Support Library

Android Support Library memperluas platform Android dengan API dan fitur kompatibilitas baru. Library ini dibagi menjadi beberapa paket, dengan Custom Tabs Support Library yang berisi fungsi untuk berinteraksi dengan browser di sistem pengguna. Pengembangan Custom Tabs Support Library terutama dilakukan di repo GitHub custom-tabs-client, dengan perubahan yang diteruskan kembali ke Android Support Library.

Tab Khusus adalah Aktivitas Android yang menggunakan browser untuk menampilkan halaman web. Manfaat utama bagi developer adalah bahwa aplikasi dapat diberi tema dan memiliki tombol tutup, sehingga pengguna tetap berada di aplikasi developer (bukan keluar dari aplikasi dan membuka pengalaman penjelajahan penuh). Sebagai Android API, Tab Khusus dapat didukung oleh browser apa pun dan akan menggunakan browser default pengguna (meskipun ini dapat diganti oleh developer).

Karena Aktivitas Web Tepercaya dibuat di atas Tab Khusus, aktivitas tersebut memulai aktivitasnya di library custom-tabs-client ini. Aktivitas Web Tepercaya menghapus panel atas Tab Khusus saat pengguna menjelajahi situs milik developer aplikasi. Hal ini akan membuka pintu untuk integrasi yang lancar dari situs Anda dalam aplikasi Android native, dan dapat digunakan untuk membuat aplikasi yang semua fungsinya disediakan oleh web.

AndroidX

Android Support Library kemudian diganti namanya menjadi AndroidX, yang merupakan bagian dari upaya lebih besar untuk meningkatkan pengalaman developer yang disebut JetPack. Jadi, Tab Khusus dan Aktivitas Web Tepercaya harus berpindah dari Custom Tabs Support Library ke androidx.browser baru.

Beberapa kode yang telah kami tulis di custom-tabs-client sesuai untuk library class helper Aktivitas Web Tepercaya, tetapi tidak untuk Android API. Kode yang menangani pemeriksaan versi Chrome yang sudah usang dan meminta pengguna untuk mengupdate atau membuat keputusan terkait cara penyimpanan data tidak dapat dipindahkan ke AndroidX. Oleh karena itu, kami membuat library alternatif untuk memuat bagian custom-tabs-client ini yang tidak dapat masuk ke androidx.browser, sehingga Pemandu Browser Android diciptakan.

Pemandu Browser Android dibuat untuk berisi kode yang dapat dikhususkan untuk browser (bukan hanya Chrome, kami juga terbuka untuk kode khusus untuk browser lain) dan dapat membuat keputusan konkret yang tidak seharusnya dilakukan library. Kita memanfaatkan kesempatan ini untuk secara umum memisahkan peran kedua library ini:

  • androidx.browser berisi elemen penyusun dasar untuk berinteraksi dengan browser pada sistem pengguna.
  • Pemandu Browser Android berisi implementasi default yang mudah digunakan dan logis.

Bootstrap

Developer adalah orang yang sibuk, dengan banyak pekerjaan yang harus dilakukan dan tenggat waktu yang harus dipenuhi. Untuk membantu hal ini, kami membuat dua alat untuk memungkinkan pengguna mem-bootstrap Aktivitas Web Tepercaya mereka.

Yang pertama (dan terlama) adalah svgomg-twa, yang merupakan Project Android yang dihosting GitHub dan meluncurkan Aktivitas Web Tepercaya. Awalnya, project ini dirancang untuk menjadi project demo yang kemudian berkembang menjadi lebih berupa template. Pengguna dapat meng-clone repo tersebut dan mengubah file build.gradle agar mengarah ke situs mereka sendiri, membangunnya, dan menghasilkan Aktivitas Web Tepercaya tanpa mengubah kode Java apa pun. (Perlu lebih banyak upaya untuk memverifikasi Digital Asset Links, baca selengkapnya di sini.)

svgomg-twa dimulai bergantung pada custom-tabs-client, tetapi kemudian dipindahkan ke Android Browser Helper (dan androidx.browser secara transitif).

Alat terbaru dan tercanggih adalah Bubblewrap, alat Node.js yang akan mengambil Manifes Aplikasi Web Anda dan membuat Aktivitas Web Tepercaya untuk Anda. Ini adalah cara termudah untuk membuat Aktivitas Web Tepercaya dari PWA yang sudah ada dan tidak memerlukan pengetahuan pengembangan Android apa pun.

Mendekati Masa Depan

Kami akan menghentikan penggunaan svgomg-twa karena dua alasan:

  • Bubblewrap pada dasarnya menghasilkan svgomg-twa yang telah diisi untuk developer. Hal ini dilakukan secara interaktif dan dapat mengambil konfigurasi dari manifes Aplikasi Web (yang mungkin sudah dimiliki PWA).
  • Jika developer menginginkan referensi tentang cara memulai project Aktivitas Web Tepercaya mereka sendiri dari awal, mereka dapat melihat direktori demos Bantuan Browser Android.

Developer baru harus menggunakan Bubblewrap untuk membuat project mereka. Jika sudah menggunakan svgomg-twa dan telah melakukan beberapa modifikasi berat, Anda akan boleh terus melakukannya, tetapi tidak akan mendapatkan pembaruan.

Kami berencana untuk membuat Bubblewrap sebaik mungkin, jadi jika ada fitur yang jelas tidak ada atau Anda menemukan bug, jangan ragu untuk mengajukan masalah.