Pemrograman reaktif dan MVVM adalah dua pendekatan yang dapat mengatasi masalah pemisahan lapisan domain dari UI.
- MVVM melakukan ini dengan mendefinisikan viewmodel, yang merupakan struktur data yang dipetakan ke komponen UI. UI menampilkan data, dan mungkin memperbaruinya saat pengguna muncul.
- kerangka kerja reaktif mendefinisikan grafik yang dapat diamati yang memberi tahu UI bahwa sebagian data telah berubah
Kerangka kerja reaktif mendapatkan berbagi pikiran, baik di platform mainstream (dengan Rx di .net & java, react.js) dan lebih banyak tempat eksperimental (FRP dalam haskell).
Saya terutama menggunakan MVVM dengan sudut, dan saya menemukan kesederhanaan untuk rasio ekspresif cukup memuaskan, meskipun saya hanya bekerja pada proyek kecil / menengah dengannya.
Apa kerangka kerja reaktif membeli pengembang yang tidak dimiliki mvvm?
Apakah benar-benar ada perbedaan? Misalnya, knockout.js diiklankan sebagai kerangka mvvm, tetapi memiliki perasaan reaktif dalam antarmuka:
this.firstName = ko.observable("John");
this.lastName = ko.observable("Smith");
this.fullName = ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);