Fitur apa yang dimiliki Aplikasi Web Progresif vs. aplikasi asli dan sebaliknya, di Android [tutup]

112

Pada 2015 Google memperkenalkan pendekatan baru untuk mengembangkan aplikasi web untuk Android: aplikasi web progresif . Seseorang dapat membuat aplikasi yang akan terlihat seperti aplikasi asli, akan dapat menggunakan perangkat keras perangkat seperti kamera dan akselerometer, menerima pemberitahuan push, memiliki ikon peluncur, bekerja secara offline, menyimpan data lokal, dll.

Di Android, fitur apa yang disediakan aplikasi asli yang tidak didukung oleh aplikasi web progresif, dan sebaliknya.

Michael
sumber

Jawaban:

201

TL; DR - Mulai Feb 2017, Aplikasi Web Progresif adalah platform yang cukup kuat sehingga Twitter telah memindahkan semua lalu lintas web seluler mereka ke React PWA .

Pada Agustus 2016, Aplikasi Web Progresif sebenarnya menawarkan lebih banyak akses perangkat keras daripada yang diperkirakan. Berikut tangkapan layar whatwebcando.today dari Chrome 52 saya stable di Android:

Apa yang Dapat Dilakukan Web Hari Ini - Chrome 52 di Android

Akses perangkat keras termasuk

Akses perangkat keras yang akan datang

Fitur-fitur ini sedang diterapkan atau sudah berfungsi di beberapa browser:

Hal penting lainnya yang perlu diperhatikan adalah bahwa Origin Trials Framework ( diterapkan di Chrome ) memungkinkan produsen untuk mengekspos dan menguji kemampuan perangkat keras (atau perangkat lunak) tanpa harus melalui proses standardisasi. Misalnya, pembuat ponsel dapat mengekspos API untuk membaca nilai sensor tekanan, memperbaikinya, lalu mengirimkannya untuk dipertimbangkan ke W3C.

Selain akses perangkat keras, ada juga fitur perangkat lunak yang secara tradisional digunakan oleh aplikasi asli yang sekarang tersedia untuk aplikasi web.

Fitur asli tradisional yang juga dapat digunakan PWA

Fitur ini mencakup banyak kasus penggunaan, dan banyak aplikasi asli populer saat ini dapat ditulis ulang sebagai PWA. Ambil Slack, misalnya. Alternatif open source-nya, Rocket.Chat, sedang membuat versi PWA . Untuk demo PWA lainnya, lihat https://pwa.rocks .

Fitur seperti native akan hadir di PWA

Fitur Android asli belum tersedia untuk PWA

  • akses ke sensor sidik jari ( dalam pengembangan )
  • kontak, kalender dan akses bookmark browser (kurangnya akses ke ini dapat dilihat sebagai fitur oleh pengguna yang sadar privasi)
  • alarm
  • fitur telepon - mencegat SMS atau panggilan, mengirim SMS / MMS, mendapatkan nomor telepon pengguna, membaca pesan suara, membuat panggilan telepon tanpa dialog Dialer
  • akses tingkat rendah ke beberapa fitur dan sensor perangkat keras: senter, sensor tekanan atmosfer
  • akses sistem: manajemen tugas, mengubah pengaturan sistem, log

Aplikasi Web Progresif menawarkan fitur yang tidak dimiliki aplikasi asli

  • kemampuan untuk ditemukan - konten dalam aplikasi web progresif dapat dengan mudah ditemukan oleh mesin telusur, tetapi aplikasi asli yang berpusat pada konten seperti StackOverflow tidak akan ditampilkan di antara hasil penelusuran app store untuk konten yang aksesnya ditawarkan, seperti "pwa vs. native". Ini adalah masalah bagi komunitas seperti Reddit, yang tidak dapat mengekspos banyak sub-komunitas mereka ke toko aplikasi sebagai "aplikasi" individual.
  • keterkaitan - halaman / layar mana pun dapat memiliki tautan langsung, yang dapat dibagikan dengan mudah
  • bookmarkability - simpan tautan itu untuk mengakses tampilan aplikasi secara langsung
  • selalu segar - tidak perlu melalui toko aplikasi untuk melakukan pembaruan
  • akses universal - tidak tunduk pada app store, terkadang kebijakan sewenang-wenang atau batasan geografis (tidak disengaja)
  • penghematan data yang besar , sangat penting di pasar negara berkembang dengan akses Internet yang mahal dan / atau lambat. Misalnya, situs web e-niaga Konga memotong penggunaan data sebesar 92% untuk pemuatan pertama dengan bermigrasi ke PWA .
  • gesekan distribusi yang rendah - jika aplikasi web progresif Anda online, aplikasi tersebut sudah dapat diakses oleh pengguna Android (dan seluler lainnya).

Catatan terakhir: PWA dijalankan, dengan basis kode yang sama, di desktop serta sebagian besar perangkat seluler. Pada lingkungan desktop (ChromeOS, dan kemudian Mac dan Windows), mereka diluncurkan pada cara yang sama seperti aplikasi lain, dan berjalan di jendela aplikasi biasa (tidak ada tab browser).

Dan Dascalescu
sumber
1
Catatan kecil: dengan "Aplikasi Instan Android", Anda dapat berargumen bahwa Aplikasi Asli (setidaknya di Android) tidak lagi kekurangan tautan.
shawnjan
Jawaban bagus Dan! Adakah cara bagi PWA untuk mengakses nomor telepon perangkat host?
Alexander Mills
@Alexander: tidak (lihat butir "fitur teleponi"), karena itu akan menjadi pelanggaran privasi. Pertimbangkan untuk menggunakan IsiOtomatis sebagai gantinya.
Dan Dascalescu
12

Keuntungan utama untuk aplikasi asli adalah bahwa mereka dapat mengakses semua API asli yang dapat ditawarkan oleh platform (kontak, flash kamera, SMS, telepon, jaringan, bluetooth, sensor, soket mentah ...) sedangkan aplikasi web progresif tidak dapat (belum) karena dibatasi oleh kemampuan Web Standar.

Tujuan dari aplikasi web progresif adalah untuk memperluas kemampuan ini untuk mencakup kasus yang paling kritis. Dalam suasana hati ini, lihat Aplikasi Web Progresif: Tab yang Melarikan Diri Tanpa Kehilangan Jiwa Kita di mana Anda dapat menemukan daftar apa yang harus ditawarkan oleh aplikasi web progresif:

  • Responsif: agar sesuai dengan faktor bentuk apa pun
  • Konektivitas independen: Secara progresif ditingkatkan dengan Service Worker untuk memungkinkan mereka bekerja secara offline
  • Interaksi mirip aplikasi: Mengadopsi model aplikasi Shell + Content untuk membuat navigasi & interaksi yang sesuai
  • Segar: Selalu terbarui secara transparan berkat proses pembaruan Service Worker
  • Aman: Dilayani melalui TLS (persyaratan Service Worker) untuk mencegah pengintaian
  • Dapat ditemukan: Dapat diidentifikasi sebagai "aplikasi" berkat Manifes W3C dan cakupan pendaftaran Service Worker yang memungkinkan mesin telusur untuk menemukannya
  • Re-engagementable: Dapat mengakses UI re-engagement OS; mis. Notifikasi Push
  • Dapat dipasang: ke layar utama melalui perintah yang disediakan browser, memungkinkan pengguna untuk "menyimpan" aplikasi yang mereka anggap paling berguna tanpa kerumitan toko aplikasi
  • Dapat ditautkan: artinya zero-friction, zero-install, dan mudah dibagikan. Kekuatan sosial dari URL itu penting.

Dari poin ini, linkable adalah salah satu karakteristik pertama yang diimpor oleh aplikasi asli dari Open Web dalam bentuk deep linking seluler .

Tetapi perhatian khusus layak mendapatkan combo fresh + installable karena ini mewakili salah satu keunggulan utama Web sebagai platform dibandingkan alternatif asli . Di sini dapat diinstal berarti bahwa itu muncul di layar beranda Anda. Ini tidak berarti Anda harus melewati tahap pengunduhan dan instalasi. Anda membuka URL atau menemukan layanan saat menjelajah dan selesai: itu muncul di layar beranda Anda .

Fresh mengacu pada cara kerja web biasa, menawarkan pemuatan instan dan pembaruan tanpa batas. Anda tidak akan diminta untuk menginstal pembaruan dari web YouTube, itu diterapkan dan Anda menggunakannya saat Anda mengunjunginya lagi.

Saya tidak berbicara tentang manfaat dari poin yang tersisa karena Anda menanyakan perbedaannya dan, misalnya, keterlibatan ulang adalah sesuatu yang sudah dimiliki aplikasi asli melalui layanan push dan notifikasi dan sekarang aplikasi web telah menyusul.

Pertanyaan terkait dan kunci lainnya adalah tentang platform mana yang lebih sesuai untuk kebutuhan Anda. Jika Anda tidak mengakses kemampuan perangkat keras khusus, Web harus cukup dan memilih web Anda bebas dari pasar, ekosistem kepemilikan dan omong-omong, Anda dapat memastikan tingkat tertentu di mana-mana dan interoperabilitas .

Sebagai catatan terakhir, saya sarankan Anda untuk menjelajahi www.flipkart.com dari ponsel dengan Chrome. Ini cukup luar biasa: tidak ada bug, navigasi yang lancar, perasaan seperti aplikasi. Pergi offline dan itu akan terus bekerja. Contoh dunia nyata dari pos itu. Tambahkan aplikasi ke layar beranda dan kali berikutnya Anda membukanya, pengalaman akan menjadi lebih baik.

Anda dapat melihat Firefox OS serta contoh membawa lebih banyak API platform ke Web Standar (dengan sedikit keberhasilan).

Salva
sumber
PWA sebenarnya dapat mengakses kamera, serta beberapa sensor .
Dan Dascalescu