Opsi migrasi
Ada dua opsi utama untuk bermigrasi dari Aplikasi Chrome: aplikasi web dan Ekstensi Chrome:
Aplikasi web adalah jalur yang lebih disukai dalam sebagian besar kasus. Ekstensi Chrome dapat digunakan dalam beberapa skenario untuk kasus penggunaan yang tidak didukung web, seperti berjalan di latar belakang tanpa antarmuka pengguna.
Aplikasi web
Alternatif yang lebih disukai untuk bermigrasi dari Aplikasi Chrome adalah membuat aplikasi web. Dengan demikian, Anda dapat menggunakan fitur lanjutan, seperti fitur project kemampuan web. API yang merupakan bagian dari project Kemampuan kini mencakup sebagian besar kasus penggunaan yang sebelumnya dapat dicapai dengan Chrome App API. Namun, Anda tidak wajib menggunakan salah satu fitur ini: fleksibilitas web memungkinkan developer memilih tingkat kompleksitas yang paling sesuai dengan kebutuhan mereka.
Keunggulan aplikasi web
Aplikasi web memiliki beberapa keunggulan dibandingkan Aplikasi Chrome:
- Portabilitas: Aplikasi Chrome hanya berjalan di Chrome. Aplikasi web berjalan di sebagian besar browser dan sistem operasi, meskipun dukungan untuk API yang berbeda bervariasi di antara keduanya.
- Pengalaman developer: Aplikasi Chrome menggunakan teknologi yang sama dengan aplikasi web (HTML, JavaScript, dan CSS), tetapi beberapa kemampuan lanjutan Aplikasi Chrome (misalnya, halaman latar belakang) tidak standar, sehingga memerlukan pengetahuan tambahan.
- Kumpulan fitur: Aplikasi Chrome mengandalkan API yang tidak lagi dikelola atau diupdate dengan fitur baru. Aplikasi web mengandalkan web terbuka, yang terus berkembang dan memiliki akses ke semua API terbaru.
- Penginstalan dan update: Aplikasi Chrome memerlukan penginstalan dan update manual, dan terkadang memerlukan peninjauan di app store. Aplikasi web dapat diakses langsung dari browser dan dapat diinstal secara opsional. Update untuk aplikasi web bersifat instan setelah deployment, segera setelah browser mengambil file baru.
- Dukungan: Meskipun Aplikasi Chrome dan aplikasi web memiliki komunitas yang cukup besar, platform web memiliki kehadiran yang jauh lebih besar dan menawarkan berbagai alat pengembangan yang lebih luas, seperti framework dan library, untuk mendukung developer.
Progressive Web App
Progressive Web App, atau PWA, hanyalah aplikasi web yang dibuat dan dioptimalkan dengan API modern untuk memberikan kemampuan, kemampuan penginstalan, dan keandalan yang ditingkatkan. Dengan menerapkan fungsi ini, Anda dapat mencapai pengalaman seperti aplikasi di web.
Kemampuan penginstalan
PWA dapat diinstal di platform desktop dan seluler, tetapi hal ini opsional, karena PWA masih dapat diakses langsung dari browser. Pengguna yang memilih untuk menginstal PWA dapat meluncurkannya melalui ikon dan pintasan. Anda dapat memberikan metadata dalam file manifes web PWA yang menunjukkan bahwa, saat diluncurkan setelah penginstalan, file tersebut akan terbuka di jendelanya sendiri.
Keandalan
PWA memiliki kemampuan untuk berfungsi secara konsisten bahkan dalam kondisi jaringan yang menantang. Hal ini dimungkinkan oleh komponen inti PWA, yang dikenal sebagai pekerja layanan. Pekerja layanan memungkinkan Anda mencegat permintaan jaringan dan menayangkan konten yang di-cache untuk memastikan aplikasi berfungsi secara offline atau dalam skenario konektivitas yang buruk. Library seperti Workbox, menyediakan serangkaian strategi langsung pakai agar Anda dapat menerapkan fungsi offline umum, yang sangat menyederhanakan pengembangan.
Kemampuan yang ditingkatkan
Project Kemampuan Web membantu aplikasi web mencapai banyak kasus penggunaan yang dapat diterapkan Aplikasi Chrome. Namun, model keamanan web memberlakukan batasan tertentu. Berikut adalah beberapa contoh kemampuan web lanjutan yang dapat Anda gunakan sebagai pengganti API Aplikasi Chrome yang ada:
- Akses Bluetooth dan USB: Web Bluetooth dan Web USB masing-masing menyediakan alternatif untuk
chrome.bluetooth
danchrome.usb
. - Pengelolaan Sistem File: File System Access API adalah alternatif untuk
chrome.fileSystem
API. - Pintasan: Aplikasi web dapat mendukung pintasan keyboard dengan memproses berbagai peristiwa tombol (misalnya keydown), tetapi pintasan yang dapat Anda dukung terbatas. Saat aplikasi web digunakan dalam mode layar penuh, Anda dapat menangkap pintasan sistem ini dengan Keyboard Lock API.
- Penyimpanan Permanen: Meminta izin Penyimpanan Permanen dalam aplikasi web Anda dapat menawarkan kemampuan yang serupa dengan izin
unlimitedStorage
di Aplikasi Chrome. - Geolokasi: Geolocation API dapat digunakan di aplikasi web untuk menemukan posisi pengguna, sebagai alternatif untuk izin geolokasi.
- Pemrosesan latar belakang: Alternatif untuk izin
background
mencakup Background Sync API dan Periodic Background Sync API. - Menyalin ke papan klip: Async Clipboard API memungkinkan Anda menyalin dan menempel teks serta gambar secara terprogram.
Ekstensi Chrome
Aplikasi web adalah alternatif terbaik untuk bermigrasi dari Aplikasi Chrome, tetapi Ekstensi Chrome dapat menjadi opsi dalam beberapa kasus. Ekstensi juga dibuat dengan teknologi web (HTML, CSS, dan JavaScript) dan dapat digunakan untuk menambahkan atau mengubah fitur browser dan menyesuaikan aplikasi web lainnya untuk pengalaman pengguna yang lebih baik.
Mem-build ekstensi mandiri
Bergantung pada pengalaman pengguna yang ingin Anda berikan, sebaiknya konversikan Aplikasi Chrome Anda menjadi ekstensi. Misalnya, Anda dapat menyediakan tombol tindakan browser yang menampilkan jendela pop-up kecil untuk antarmuka pengguna, atau membuka halaman yang disediakan ekstensi Anda. Model UI ini mungkin lebih cocok untuk aplikasi yang melakukan sebagian besar tugasnya di latar belakang.
Menghubungkan ekstensi Chrome dari aplikasi web
Jika Aplikasi Chrome Anda menawarkan kemampuan yang tidak tersedia di platform web, Anda mungkin dapat menghubungkan ekstensi Chrome dengan aplikasi web dan memberinya akses ke API ekstensi.Kelemahan pendekatan ini adalah pengguna / admin IT harus mengelola dua bagian yang berbeda (aplikasi web dan ekstensi pendamping). Perlu diperhatikan bahwa ekstensi Chrome tidak dapat dijalankan di beberapa browser. Anda harus mendeteksi saat fungsi yang diperlukan tidak tersedia dan memberikan teks penjelasan untuk pengguna di browser lain ini.
Apakah saya harus membuat aplikasi web atau ekstensi Chrome?
Aplikasi web adalah teknologi yang lebih disukai untuk dimigrasikan dari Aplikasi Chrome. Ada beberapa kasus penggunaan saat ekstensi Chrome mungkin merupakan pilihan yang lebih baik. Sebelum memutuskan, analisis opsi mana yang lebih baik menurut berbagai faktor:
- Tujuan: Ekstensi Chrome terutama digunakan untuk memperluas fungsi browser. Kasus penggunaan yang umum mencakup: alat produktivitas, pengayaan konten halaman web, dan agregasi informasi. Aplikasi web dapat memiliki rentang kasus penggunaan yang jauh lebih luas dengan menggunakan kemampuan penuh web.
- Pengalaman Pengguna: Ekstensi Chrome biasanya memiliki antarmuka pengguna yang lebih terbatas dan dirancang untuk berintegrasi dengan browser. Aplikasi web dapat memiliki antarmuka pengguna yang kaya yang terlihat dan terasa seperti aplikasi native serta sangat dapat disesuaikan.
- Portabilitas: Ekstensi Chrome khusus Chrome. Beberapa browser (misalnya, Firefox dan Edge) mendukung API ekstensi yang sama dengan Chrome, tetapi dukungan ini tidak universal. Aplikasi web didukung oleh semua browser (meskipun mungkin tidak semua API).
- Keterjangkauan: Ekstensi Chrome harus diinstal (misalnya, dari Chrome Web Store atau melalui hosting mandiri) dan diakses melalui toolbar browser. Aplikasi web dapat dimuat langsung melalui URL dan diakses dari semua browser. Anda dapat menginstalnya secara opsional, tetapi hal ini tidak wajib.
- Kumpulan fitur: Ekstensi Chrome memiliki integrasi mendalam dengan Chrome, melalui Chrome API. Aplikasi web mungkin lebih terbatas dalam tugas tingkat rendah atau tingkat sistem. Seperti yang telah dibahas, Anda dapat memanggil ekstensi dari aplikasi web untuk memiliki akses ke API khusus ekstensi.
- Pekerjaan latar belakang: Ekstensi Chrome dapat melakukan pekerjaan latar belakang dan berjalan bahkan saat jendela browser ditutup. Di sisi lain, aplikasi web biasanya dirancang untuk berjalan di latar depan dan memiliki kemampuan latar belakang yang lebih terbatas, yang sebagian besar digunakan untuk performa dan keandalan.
Langkah migrasi
Memigrasikan Aplikasi Chrome
Ikuti langkah-langkah berikut untuk bermigrasi dari Aplikasi Chrome ke aplikasi web atau ekstensi Chrome:
- Menentukan cakupan fungsi aplikasi: Dalam beberapa kasus, aplikasi Anda akan menentukan apakah Anda harus menggunakan aplikasi web atau satu-satunya pilihan Anda adalah mem-build Ekstensi Chrome. Jika keduanya dapat memenuhi kebutuhan Anda, Anda memiliki pilihan. Lihat situs Kemampuan Web dan referensi Chrome Extension API untuk mempelajari lebih lanjut apa yang ditawarkan setiap teknologi.
- Pelajari dan buat: Ikuti referensi pembelajaran untuk mengetahui teknologi dan menyiapkan serta menjalankan aplikasi Anda. Pelatihan PWA dan panduan Memulai Ekstensi Chrome adalah referensi yang bagus untuk memulai setiap teknologi ini.
- Uji dan distribusikan: Tawarkan aplikasi baru Anda kepada sebagian kecil pengguna sebelum peluncuran yang lebih luas untuk memastikan aplikasi berfungsi dengan baik. Untuk mendistribusikannya secara lebih luas, aplikasi web dapat diakses dan diinstal dari browser. Ekstensi Chrome biasanya didistribusikan melalui Chrome Web Store atau dihosting sendiri. Keduanya dapat diinstal secara paksa oleh admin dalam skenario terkelola.
Memigrasikan pengguna
Terlepas dari teknologi yang Anda pilih untuk bermigrasi dari Aplikasi Chrome, Anda harus memberi tahu pengguna untuk meng-uninstal aplikasi saat ini dan memandu mereka ke pengalaman baru.
Sebaiknya perbarui aplikasi Anda untuk menyertakan pesan yang menunjukkan bahwa aplikasi tersebut telah
dihentikan, dan bahwa pengguna harus mengunjungi situs Anda atau Chrome Web Store
untuk selanjutnya (lihat contoh berikut). Anda juga dapat menyertakan tombol "uninstal"
yang memanggil metode uninstallSelf()
.
Mulai Chrome 75, metode installReplacementWebApp()
dapat digunakan di dalam
Aplikasi Chrome, sebagai respons terhadap klik tombol atau gestur pengguna lainnya, untuk
memicu alur penginstalan secara otomatis untuk aplikasi web pengganti
Anda.
Pertimbangan tambahannya adalah memberi tahu admin browser Chrome Enterprise dan ChromeOS Enterprise untuk memperbarui kebijakan aplikasi mereka bagi organisasi mereka. Pengguna yang dikelola Enterprise dan Education biasanya akan dipaksa menginstal aplikasi dan ekstensi melalui kebijakan pengelolaan. Developer harus memberi tahu admin untuk memperbarui kebijakan ExtensionInstallForcelist (digunakan untuk menginstal Aplikasi Chrome) dan menggantinya dengan kebijakan WebAppInstallForceList dengan URL aplikasi web Anda.
Dukungan
Jika Anda memiliki pertanyaan teknis, berikut beberapa referensi yang dapat Anda gunakan untuk mendapatkan dukungan:
- Untuk pertanyaan terkait migrasi dari Aplikasi Chrome ke Aplikasi Web atau Ekstensi Chrome, bergabunglah dengan komunitas developer ChromeOS di Discord.
- Untuk kemampuan aplikasi web yang tidak ada, minta kemampuan baru di bagian Kemampuan, juga dikenal sebagai Project Fugu.