Mengembangkan aplikasi android dengan menerapkan pola arsitektur perangkat lunak selalu disukai oleh para pengembang. Sebuah pola arsitektur memberikan modularitas ke file proyek dan menjamin bahwa semua kode mendapatkan tercakup dalam Unit pengujian. Itu membuat tugas mudah bagi pengembang untuk memelihara perangkat lunak dan untuk memperluas fitur aplikasi di masa depan. MVP (Model — View — Presenter) dan Model — View — ViewModel (MVVM) adalah dua arsitektur android yang diakui industri paling populer di kalangan pengembang.
Pola Model — View — Presenter (MVP)
Pola arsitektur MVP menyediakan cara mudah untuk menyusun kode proyek. Alasan mengapa MVP diterima secara luas adalah karena MVP menyediakan modularitas, kemampuan pengujian, dan basis kode yang lebih bersih dan dapat dipelihara. Ini terdiri dari tiga komponen berikut:
- Model: Lapisan untuk menyimpan data. Ini bertanggung jawab untuk menangani logika domain (aturan bisnis dunia nyata) dan komunikasi dengan database dan lapisan jaringan.
- Lihat: lapisan UI (Antarmuka Pengguna). Ini memberikan visualisasi data dan melacak tindakan pengguna untuk memberi tahu Penyaji.
- Presenter: Ambil data dari model dan terapkan logika UI untuk memutuskan apa yang akan ditampilkan. Ini mengelola status Tampilan dan mengambil tindakan sesuai dengan pemberitahuan input pengguna dari Tampilan.

Pola Model — View — Pola ViewModel (MVVM)
Pola MVVM memiliki beberapa kesamaan dengan pola desain MVP(Model — View — Presenter) karena peran Presenter dimainkan oleh ViewModel . Namun, kelemahan dari pola MVP telah diselesaikan oleh MVVM. Ini menyarankan memisahkan logika presentasi data (Tampilan atau UI) dari bagian logika bisnis inti dari aplikasi. Lapisan kode terpisah dari MVVM adalah:
- Model: Lapisan ini bertanggung jawab atas abstraksi sumber data. Model dan ViewModel bekerja sama untuk mendapatkan dan menyimpan data.
- Tampilan: Tujuan dari lapisan ini adalah untuk menginformasikan ViewModel tentang tindakan pengguna. Lapisan ini mengamati ViewModel dan tidak mengandung logika aplikasi apa pun.
- ViewModel: Ini memperlihatkan aliran data yang relevan dengan View. Selain itu, server sebagai penghubung antara Model dan Tampilan.

Fathurrahman
Android Mobile
Hallo saya trainer Android Mobile di Mataweb dan saya sudah berpengalaman lebih dari 5 tahun. jadi kali ini saya akan share tutorial ataupun tips seputar mobile aplikasi. Salam kenal