Pemrograman dengan cara aplikasi mini

Hal yang telah berhasil untuk aplikasi mini

Dalam bab ini, saya ingin melihat pelajaran yang saya pelajari dari riset aplikasi mini dari sudut pandang developer web, atau menjawab pertanyaan apa yang dimaksud dengan mengembangkan aplikasi mini.

Komponen

Daripada membuat ulang roda dan membuat developer membuat implementasi lain dari paradigma UI umum seperti tab, akordeon, carousel, dll., aplikasi mini hanya dikirimkan dengan pilihan komponen default yang dapat diperluas jika Anda memerlukan lebih banyak. Di web, ada juga banyak opsi, beberapa di antaranya telah saya cantumkan di bab tentang komponen aplikasi mini. Idealnya, library komponen di web dibuat sedemikian rupa sehingga Anda dapat mencampurnya dengan bebas. Dalam praktiknya, terlalu sering ada batasan tertentu terkait sistem desain yang harus Anda beli saat menggunakan komponen, atau library komponen didistribusikan dengan cara semua atau tidak sama sekali, tetapi tidak ada komponen individual yang dapat ditambahkan dengan mudah ke project. Namun, ada komponen atom yang dapat Anda gunakan secara terpisah, atau library seperti generic-components yang sengaja tidak diberi gaya. Menemukan dan menggunakannya sepertinya ide yang bagus.

Model-view-viewmodel

Pola arsitektur model–view–viewmodel (MVVM)—yang memfasilitasi pemisahan pengembangan antarmuka pengguna grafis (tampilan) melalui bahasa markup dari pengembangan logika backend (model)—berarti tampilan tidak bergantung pada platform model tertentu. Meskipun ada beberapa kelemahan pola yang terdokumentasi, secara umum pola ini berfungsi sangat baik untuk aplikasi dengan kompleksitas aplikasi mini. Hal ini dapat sangat bermanfaat terutama dengan library template yang kaya (lihat bab berikutnya).

Pemikiran berdasarkan halaman

Proses debug aplikasi mini menunjukkan bahwa aplikasi tersebut pada dasarnya adalah aplikasi multi-halaman (MPA). Hal ini memiliki banyak keuntungan, seperti, misalnya, memungkinkan pemilihan rute yang sederhana dan gaya visual per halaman yang bebas konflik. Orang-orang telah berhasil menerapkan arsitektur MPA ke Progressive Web App. Berpikir dalam halaman juga membantu mengelola resource seperti file CSS dan JavaScript setiap halaman, serta aset lainnya seperti gambar dan video. Yang terpenting, mem-build dengan cara ini berarti Anda mendapatkan pemisahan kode berbasis rute secara gratis jika tidak memuat apa pun. Dalam hal ini, setiap halaman menurut definisi hanya memuat apa yang diperlukan untuk berfungsi.

Proses build

Aplikasi mini tidak memiliki proses build yang terlihat. Di web, alat build modern seperti Snowpack memanfaatkan sistem modul bawaan JavaScript (dikenal sebagai ESM) untuk menghindari pekerjaan yang tidak perlu dan tetap cepat, berapa pun besar project yang berkembang. Meskipun masih dalam tahap awal untuk teknologi seperti Web Bundle, teknologi ini dapat dengan mudah ditambahkan ke proses build.

Kemampuan yang canggih

Platform web ini telah mendapatkan banyak kemampuan baru baru-baru ini. Akses ke perangkat melalui Bluetooth, USB, HID, serial, dan NFC kini dapat dilakukan. Jika aplikasi mini berjalan di WebView dan bergantung pada JavaScript bridge, di web, kemampuan canggih ini tersedia secara langsung, sehingga Anda tidak memprogram terhadap API yang disediakan oleh JavaScript bridge, tetapi terhadap API browser tanpa aktor perantara.

Ucapan terima kasih

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