Bahasa Pemrograman

Apa Bedanya ASP.NET MVC dan Web Form ?

September 19, 2014
 
Gambar diambil dari sini
Microsoft telah memiliki model pemrograman web yang sudah matang dan banyak digunakan untuk mengembangkan berbagai macam aplikasi web. Model pemrograman ini lebih dikenal dengan nama Web Form. Lalu kenapa Microsoft mengeluarkan model pemrograman baru yaitu ASP.NET MVC?
Jawabannya terletak kepada perbedaan-perbedaan mendasar yang terdapat antara keduanya. Masing-masing memiliki keunggulan dan kelemahan. Dan yang jelas masing-masing memiliki pendukung dalam komunitas pemrograman web. Tabel berikut ini menjabarkan perbedaan- perbedaan antara Web Form dan ASP.NET MVC secara rinci.
Web Form
ASP .NET MCV
Web Form menggunakan page- controller , dimana setiap request akan di-handle oleh sebuah page yang filenya ada secara fisik. ASP.NET MVC menggunakan central-controller , dimana setiap request akan di-handle oleh sebuah objek logical berupa Controller.
Form server-side dalam Web Form secara default akan melakukan post-back terhadap page itu sendiri. Skenario posting sebuah form selalu ditujukan kepada Controller.
Page bisa digunakan untuk menampilkan informasi kepada user, sekaligus juga mengerjakan logic proses bisnis. Tampilan dan logic proses bisnis terpisah dengan jelas dalam dua komponen View dan Model.
Web Form mengemulasikan sifat statefull ke dalam model pemrograman web agar bisa menerapkan rich client behavior . View-state diperlukan untuk mendukung mekanisme ini. ASP.NET MVC menerima apa adanya protokol HTTP yang stateless dan menjadikan model pemrogramannya menyesuaikan terhadap hal ini. View-state pun tidak diperlukan lagi.
Web Form menerapkan abstraksi component-model dimana mekanisme pemrograman web dibungkus dalam komponen- komponen yang bisa mempercepat pengembangan aplikasi. ASP.NET MVC lebih dekat kepada pemrograman web yang native seperti yang terdapat dalam ASP klasik, PHP, dan Ruby on Rails. Developer memiliki keleluasaan untuk melakukan sesuatu dalam model pemrograman yang bersifat native
Web Form bisa di-test menggunakan berbagai macam metode testing yang ada seperti unit testing maupun web testing. Walaupun Web Form bisa digunakan dalam Test Driven Development (TDD), namun dalam pelaksanaannya akan terasa lebih sulit. ASP.NET MVC lebih cocok untuk TDD karena kejelasan tugas dan tanggung jawab masing-masing komponennya disamping telah dirancang untuk lebih mudah dilakukan unit testing terhadapnya.
Keberadaan Web Form yang sudah lama menyebabkan banyak komponen, control, tool, dan sub-framework yang telah dibuat di atasnya. Hal ini tentu saja sangat bagus untuk mengembangkan program web yang bersifat Rapid Application Development (RAD). Kemunculan ASP.NET MVC yang belum lama menyebabkan belum banyak komponen, tool, dan sub- framework yang bisa bekerja di atasnya. Hal ini bisa menjadi salah satu tantangan untuk mengembangkan aplikasi RAD terutama dalam aplikasi-aplikasi Line of Business (LOB).
Seperti yang kita lihat dalam tabel di atas, baik Web Form maupun ASP.NET MVC memiliki kelebihan dan kekurangan masing-masing yang mendukung kecocokannya untuk diterapkan terhadap program web tertentu. Banyak developer yang menyukai Web Form, namun banyak juga yang lebih memilih arsitektur MVC.
Sebelum kemunculan ASP.NET MVC, arsitektur MVC telah diterapkan dalam framework Ruby on Rails dan Django. Popularitas arsitektur MVC mulai mendapatkan perhatian besar terutama sejak munculnya Ruby on Rails. ASP.NET MVC muncul sebagai solusi yang disediakan Microsoft bagi para developer yang menyukai arsitektur MVC dan juga scripting, termasuk bagi para developer PHP, Ruby on Rails, dan Django.
Sebagai kesimpulan, Web Form dan ASP.NET MVC memiliki beberapa perbedaan mendasar yang membuat masing-masing lebih cocok untuk diterapkan dalam skenario tertentu. ASP.NET MVC juga merupakan dukungan Microsoft terhadap arsitektur MVC yang disediakan bagi para developer yang lebih menyukai arsitektur ini dan juga scripting, seperti para developer PHP, Ruby on Rails, dan Django.
Sumber :
Almost copas from my blog http://keina-code.blogspot.com/
Suhanto, Agus. ebook : Mengenal ASP.NET MVC Edisi Beta

Let's write your opinion

%d bloggers like this: