Tutorial MVVM dengan Framework ZK
Sekapur Sirih tentang Framework ZK
Apa itu zk framework ?
ZK adalah sebuah library yang sangat bagus dan mudah untuk membuat aplikasi web berbasis java. ZK konsen terhadap user interface sehingga user ketika membangun aplikasi web sudah tidak lagi berususan dengan html, css dan javascript. Semua sudah ditangani oleh ZK. Kita bisa menggabungkan ZK dengan framework lain seperti spring, ejb, hibernate, jpa dan sebagainya.
Aku menggunakan zk mulai dari tahun 2010, waktu itu zk sudah mencapai versi 5. Ketinggalan memang, tetapi dengan aku menggunakan zk, sekarang proses pembuatan aplikasi menjadi cepat. Itu salah satu kelebihannya. Berikut ini kekuarangan dan kelebihan yang aku temukan. Ini berdasarkan temuanku sendiri.
"Untuk Selengkapnya bisa di lihat di blog berikut "
http://ahsanfiles.wordpress.com/2010/11/18/sharing-kekurangan-dan-kelebihan-zk-framework/
Oke To the Point
MVVM
Model View ViewModel (MVVM) adalah pola arsitektur yang digunakan dalam rekayasa perangkat lunak yang berasal dari Microsoft sebagai spesialisasi dari pola presentasi desain model yang diperkenalkan oleh Martin Fowler. Dengan didasarkan sebagian besar pada pola model-view-controller (MVC), MVVM ditargetkan pada platform pengembangan UI modern yang mendukung Event-driven programming (HTML5, Windows Presentation Foundation or WPF, ZK (framework), dan Silverlight).
Pola desain merupakan desain struktur utama yang membuat desain object-oriented yang reusable (Gamma et al 1995). Pola desain berfokus pada permasalahan desain objectoriented.
Model-View-Controller
Menurut Gamma et al (1995), Model-ViewController (MVC) digunakan untuk membangun antarmuka pengguna pada Smalltalk-80. Menurut Potel (1996), MVC adalah fundamental dari pola desain yang digunakan pada Smalltalk untuk mengimplementasikan objek graphical user interface (GUI), dan MVC digunakan lagi dan diadopsi ke dalam kelas pustaka GUI lainnya dan beberapa framework aplikasi. Model-View-Controller (MVC) adalah suatu rancangan aplikasi yang terbagi atas tiga bagian yaitu: Model, View, dan Controller. MVC digunakan untuk memetakan input, proses, dan output ke dalam Antarmuka pengguna (Marston 2004 dalam Mamluati 2006). Hubungan di antara MVC dapat dilihat pada gambar dibawah.
Elemen-elemen dari pola MVVM adalah:• Model
Model merupakan representasi dari proses bisnis di dalam aplikasi perangkat lunak. Lebih mudahnya, dapat juga disebutkan bahwa Model adalah bagian yang bertugas untuk mengolah data mentah menjadi data yang mengandung arti yang diinginkan oleh pengguna.
• View
View mengatur antarmuka dari sistem mengatur output baik grafis maupun teks, merupakan hasil akhir yang dikirimkan ke pengguna aplikasi. Format HTML merupakan contoh umum hasil akhir yang dikirimkan dalam aplikasi web.
• Controller
Controller merepresentasikan permintaan yang datang dari pengguna berupa input dari keyboard atau mouse, memerintahkan Model untuk memproses aksi berdasarkan input, kemudian menampilkan hasil dari aksi tersebut ke View.
Model-View-ViewModel
Model-View-ViewModel adalah variasi dari Model-View-Controller (MVC) yang dirancang sebagai platform pengembangan antarmuka pengguna modern.Menurut Horn (2010), pola Model-ViewViewModel merupakan pola pengembangan terbaru turunan dari pola Model-ViewController (MVC). Pada MVC, Controller berisi logika yang menangani event dari antarmuka pengguna dan menangani penampilan data di View. Pola desain MVVM memiliki kemampuan baru dalam data-binding (pengikatan data) yang terdapat pada ViewModel. Controller pada pola desain MVVM diganti ViewModel yang tugasnya mengontrol penampilan dari View.
Model-View-Presenter
Model-View-Presenter (MVP) merupakan turunan dari model pemrograman pada Smalltalk MVC (Potel et al 1996). Perbedaan dengan MVC ialah Controller pada MVC diganti degan Presenter. Presenter pada MVP merupakan interpretasi kejadian dan pergerakan yang diinisiasi oleh pengguna dan menyediakan logika bisnis yang cocok dengan perintah untuk memanipulasi Model. MVP merupakan jenis pola desain antarmuka pengguna yang memasangkan logika antarmuka pengguna.Berdasarkan MSDN Library (2009), varian dari MVP yaitu Passive View dan Supervising.
View pada Supervising Controller berinteraksi dengan Model untuk melakukan pengikatan data sederhana yang dapat didefinisikan secara deklaratif, tanpa campur tangan Presenter. Ilustrasi Passive View dapat dilihat pada Gambar 2.
Gambar 2. Ilustrasi Passive View
Gambar 3. Ilustrasi Supervising Controller
Menurut Rozzaq (2007), keuntungan dalam implementasi aplikasi menggunakan pola desain MVP adalah :
a. Logika domain tidak tersebar di seluruh kode program antarmuka. Sehingga mengurangi duplikasi penulisan kode program dan lebih memudahkan dalam proses debugging, pemeliharaan, penambahan, dan penggunaan ulang kode.
b. Antarmuka pengguna dapat diubah secara bebas dari Model dalam kasus yang tidak merubah kebutuhan aplikasi yang mendasar.
c. Pemisahan domain logika dengan dari kode program antarmuka pengguna sangat memudahkan pengujian unit (unit testing). Kekurangan MVP adalah adanya penambahan kode program yang terlibat dalam pemisahan antara Model, View, dan Presenter.
Namun, kekurangan ini bisa tertutupi dengan adanya manfaat yang muncul dari pemisahan kode program ini.
Untuk Tutorial MVVM bisa di download disini..