Kenapa MVVM Lebih Efisien dari MVP?

Sebelum masuk ke penjelasan apa itu MVVM, konsep dalam mvvm hampir sama dengan mvp , tetapi kenapa harus menggunakan mvvm kenapa tidak menggunakan mvp saja?

MVP merupakan sebuah design atau konsep penulisan sebuah block program, dimana nantinya aplikasi tersebut akan mempunyai struktur code program yang terarah dan mudah untuk dilakukan maintenance atau penambahan fitur dan juga konsep dari ini akan menentukan performance dari aplikasi yang akan kita bangun.

Jadi mvp itu sesuai dengan kepanjangannya terdiri dari model, view dan presenter merupakan sebuah pola untuk mendesign sebuah aplikasi, dimana konsep ini berasal dari MVC yaitu model, view, Controller dan digunakan untuk membangun user interface.

Dalam siklus presenter memiliki tanggung jawab untuk menerapkan semua logika persentasi dan data transformasi untuk mengirim informasi ke view.

Masalah utama MVP terkait pengujian, untuk menghindari kopling dan duplikat kode. Penggunaan MVP meningkatkan kemampuan uji coba kode aplikasi Anda dan dapat menguji kode UI Anda tanpa mengeksekusi kode kerangka hanya dengan Unit Test.

Jadi yang banyak di perbincangkan dalam komunitas dan forum yang berkaitan dengan android bahwa mvvm itu lebih efisien dan maksimal dibandingkan dengan MVP, Karna mvp itu lebih dulu ada dibangdingkan dengan MVVM, jadi istilahnya mvvm itu termasuk pengembangan konsep dari MVP mungkin itu yang saya ketahui

Jadi apa itu MVVM? Singkatan dari Model View ViewModel merupakan sebuah pola pengembangan aplikasi yang berasal dari persenter model.

Kehebatan dari pola ini adalah penggunaan dari (Bainding enggine), tapi kita bisa menggunakannya tanpa satu. Binding Enggine akan menghindari semua kode boilerplate yang harus kita tulis untuk menghubungkan view model kita dengan view agar tetap diperbarui.

Siklus dari MVVM

View

View ini berisi layout dari aplikasi

ViewModel

ViewModel ini bertugas untuk mengambil data dan menyampaikannya ke View

Model

Setelah ViewModel ngambil data, nah saatnya Model bertugas, yaitu menampung data yang diambil oleh ViewModel.

Jadi perbedaan dari MVP dan MVVM :

  • MVP lebih mudah diuji, tergantung dari mesin pengikatnya yang digunakan.

  • MVVM akan lebih cepat diterapkan, jika menggunakan binding, karena harus menulis kode yang sedikit.

  • Kedua pola tersebut akan memperbaiki kualitas kode dan kemampuan uji.

Lebih jelasnya pada vidio berikut, beserta penerapan pada kasus Login menggunakan konsep MVVM

Demikian yang dapat saya sampaikan dari artikel ini semoga bermanfaat, jika ada yang ditanyakan silahkan di kolom komentar dibawah, selamat mencoba.