Apa saja keuntungan menggunakan salah satu dari yang lain?
asp.net
asp.net-mvc
pengguna18931
sumber
sumber
Formulir Web ASP.NET dan MVC adalah dua kerangka kerja web yang dikembangkan oleh Microsoft - keduanya merupakan pilihan yang baik. Tidak satu pun dari kerangka kerja web yang akan diganti oleh yang lain juga tidak ada rencana untuk membuatnya 'digabungkan' ke dalam kerangka kerja tunggal. Dukungan dan pengembangan berkelanjutan dilakukan secara paralel oleh Microsoft dan tidak akan 'hilang'.
Masing-masing kerangka kerja web ini menawarkan keuntungan / kerugian - beberapa di antaranya perlu dipertimbangkan ketika mengembangkan aplikasi web. Aplikasi web dapat dikembangkan menggunakan salah satu teknologi - mungkin membuat pengembangan untuk aplikasi tertentu lebih mudah memilih satu teknologi dibandingkan yang lain dan sebaliknya.
Formulir Web ASP.NET:
ASP.NET MVC:
Otentikasi, otorisasi, konfigurasi, kompilasi, dan penyebaran adalah semua fitur yang dibagi di antara dua kerangka kerja web.
sumber
Siapa pun yang cukup tua untuk mengingat ASP klasik akan mengingat mimpi buruk membuka halaman dengan kode yang dicampur dengan html dan javascript - bahkan halaman terkecil adalah rasa sakit untuk mencari tahu apa sih yang dilakukannya. Aku bisa saja salah, dan kuharap begitu, tapi MVC sepertinya kembali ke masa lalu yang buruk.
Ketika ASP.Net datang itu dipuji sebagai penyelamat, memisahkan kode dari konten dan memungkinkan kita untuk memiliki desainer web membuat html dan coders bekerja pada kode di belakang. Jika kami tidak ingin menggunakan kondisi tampilan, kami mematikannya. Jika kami tidak ingin menggunakan kode di belakang karena suatu alasan, kami dapat menempatkan kode kami di dalam html seperti ASP klasik. Jika kami tidak ingin menggunakan PostBack, kami dialihkan ke halaman lain untuk diproses. Jika kami tidak ingin menggunakan kontrol ASP.Net, kami menggunakan kontrol html standar. Kami bahkan dapat menginterogasi objek Respons jika kami tidak ingin menggunakan ASP.Net runat = "server" pada kontrol kami.
Sekarang seseorang dengan kebijaksanaan luar biasa (mungkin seseorang yang tidak pernah memprogram ASP klasik) telah memutuskan saatnya untuk kembali ke masa pencampuran kode dengan konten dan menyebutnya "pemisahan kepedulian". Tentu, Anda dapat membuat html bersih, tetapi Anda bisa dengan ASP klasik. Mengatakan "Anda tidak memprogram dengan benar jika Anda memiliki terlalu banyak kode di dalam pandangan Anda" sama dengan mengatakan "jika Anda menulis kode yang terstruktur dan berkomentar dengan baik di ASP klasik, itu jauh lebih bersih dan lebih baik daripada ASP.NET"
Jika saya ingin kembali ke pencampuran kode dengan konten saya akan melihat pengembangan menggunakan PHP yang memiliki lingkungan yang jauh lebih matang untuk pengembangan semacam itu. Jika ada begitu banyak masalah dengan ASP.NET maka mengapa tidak memperbaiki masalah itu?
Terakhir, mesin Razor yang baru berarti lebih sulit membedakan antara html dan kode. Setidaknya kita bisa mencari tag pembuka dan penutup yaitu <% dan%> di ASP tetapi sekarang satu-satunya indikasi adalah simbol @.
Mungkin sudah waktunya untuk pindah ke PHP dan menunggu 10 tahun lagi bagi seseorang untuk memisahkan kode dari konten sekali lagi.
sumber
Jika Anda bekerja dengan pengembang lain, seperti PHP atau JSP (dan saya kira rails) - Anda akan memiliki waktu yang jauh lebih mudah mengonversi atau berkolaborasi pada halaman karena Anda tidak akan memiliki semua ASP.NET 'jahat' mereka. acara dan kontrol di mana-mana.
sumber
Masalah dengan MVC adalah bahwa bahkan untuk "ahli" itu memakan banyak waktu yang berharga dan membutuhkan banyak usaha. Bisnis didorong oleh hal dasar "Solusi Cepat yang berfungsi" terlepas dari teknologi di baliknya. WebForms adalah teknologi RAD yang menghemat waktu dan uang. Apa pun yang membutuhkan lebih banyak waktu tidak dapat diterima oleh bisnis.
sumber
sumber
Keuntungan tunggal terbesar bagi saya adalah pemisahan yang jelas antara lapisan Model, View, dan Controller Anda. Ini membantu mempromosikan desain yang baik sejak awal.
sumber
Saya belum melihat kelebihan APAPUN di MVC dibandingkan dengan ASP.Net. 10 tahun yang lalu Microsoft datang dengan UIP (User Interface Process) sebagai jawaban untuk MVC. Itu gagal. Kami melakukan proyek besar (4 pengembang, 2 desainer, 1 tester) dengan UIP saat itu dan itu adalah mimpi buruk belaka.
Jangan hanya ikut-ikutan demi Hype. Semua keuntungan yang tercantum di atas sudah tersedia di Asp.Net (Dengan tweak lebih hebat [ Fitur baru di Asp.Net 4 ] di Asp.Net 4).
Jika tim pengembangan Anda atau keluarga pengembang tunggal dengan Asp.Net hanya bertahan dan membuat produk yang indah dengan cepat untuk memuaskan klien Anda (yang membayar untuk jam kerja Anda). MVC akan menghabiskan waktu berharga Anda dan menghasilkan hasil yang sama seperti Asp.Net :-)
sumber
Francis Shanahan,
Mengapa Anda menyebut postback parsial sebagai "omong kosong"? Ini adalah fitur inti dari Ajax dan telah digunakan dengan sangat baik dalam kerangka Atlas dan kontrol pihak ketiga yang luar biasa seperti Telerik
Saya setuju dengan pendapat Anda tentang kondisi tampilan. Tetapi jika pengembang berhati-hati untuk menonaktifkan kondisi tampilan, ini dapat sangat mengurangi ukuran HTML yang dirender sehingga halaman menjadi ringan.
Hanya kontrol Server HTML yang diubah namanya dalam model Formulir Web ASP.NET dan bukan kontrol html murni. Apa pun itu, mengapa Anda begitu khawatir jika penggantian nama dilakukan? Saya tahu Anda ingin berurusan dengan banyak peristiwa javascript di sisi klien tetapi jika Anda mendesain halaman web Anda dengan cerdas, Anda pasti bisa mendapatkan semua id yang Anda inginkan
Bahkan Formulir Web ASP.NET memenuhi Standar XHTML dan saya tidak melihat kembung. Ini bukan alasan mengapa kita membutuhkan pola MVC
Sekali lagi, mengapa Anda terganggu dengan AXD Javascript? Mengapa itu menyakitimu? Ini bukan pembenaran yang valid lagi
Sejauh ini, saya penggemar pengembangan aplikasi menggunakan formulir Web ASP.NET klasik. Misalnya: Jika Anda ingin mengikat dropdownlist atau gridview, Anda memerlukan maksimum 30 menit dan tidak lebih dari 20 baris kode (tentu saja minimal). Tetapi dalam kasus MVC, bicaralah dengan pengembang betapa menyakitkannya itu.
Kelemahan terbesar dari MVC adalah kita akan kembali ke masa ASP. Ingat kode spaghetti untuk menggabungkan kode Server dan HTML ??? Ya Tuhan, coba baca halaman MVC aspx yang dicampur dengan javascript, HTML, JQuery, CSS, tag Server dan apa yang tidak .... Siapa saja yang bisa menjawab pertanyaan ini?
sumber
Formulir web juga mendapat manfaat dari kematangan yang lebih besar dan dukungan dari penyedia kontrol pihak ketiga seperti Telerik.
sumber
Dalam formulir web, Anda juga dapat merender hampir seluruh html dengan tangan, kecuali beberapa tag seperti kondisi tampilan, validasi acara, dan yang serupa, yang dapat dihapus dengan PageAdapters. Tidak ada yang memaksa Anda untuk menggunakan GridView atau kontrol sisi server lain yang memiliki output rendering html yang buruk.
Saya akan mengatakan bahwa keuntungan terbesar dari MVC adalah SPEED!
Berikutnya adalah pemisahan paksa yang dipaksakan. Tapi itu tidak melarang Anda untuk memasukkan seluruh logika BL dan DAL di dalam Controller / Action! Ini hanya pemisahan tampilan, yang dapat dilakukan juga dalam format web (pola MVP misalnya). Banyak hal yang orang sebutkan untuk MVC dapat dilakukan dalam format web, tetapi dengan beberapa upaya tambahan.
Perbedaan utama adalah bahwa permintaan datang ke controller, bukan view, dan kedua layer itu dipisahkan, tidak terhubung melalui kelas parsial seperti dalam formulir web (aspx + kode di belakang)
sumber
2 sen saya:
sumber
MVC memungkinkan Anda memiliki lebih dari satu formulir pada satu halaman, Fitur kecil yang saya tahu tetapi berguna!
Juga pola MVC yang saya rasa membuat kode lebih mudah dipelihara, khususnya. ketika Anda mengunjungi kembali setelah beberapa bulan.
sumber
runat="server"
bentuk non- tag ketika Anda masih ingin menggunakan formulir web, dan karena Anda tidak bisa / tidak boleh membuat bentuk sarang, saya pikir agak jelas apa yang ia maksudkan :)Pengontrol MVC:
Tampilan MVC:
Seberapa keras itu? Tanpa kondisi tampilan, siklus hidup Halaman BS ... Hanya kode efisien murni.
sumber
Saya dapat melihat dua keuntungan hanya untuk situs yang lebih kecil: 6) URL tenang yang memungkinkan SEO. 7) Tidak ada acara ViewState dan PostBack (dan kinerja yang lebih baik secara umum)
Pengujian untuk situs kecil tidak menjadi masalah, juga tidak ada keuntungan desain ketika situs dikodekan dengan benar, MVC dalam banyak hal mengaburkan dan membuat perubahan lebih sulit untuk dibuat. Saya masih memutuskan apakah keuntungan ini sepadan.
Saya dapat dengan jelas melihat keuntungan MVC di situs multi-developer yang lebih besar.
sumber
Manfaat utama yang saya temukan adalah memaksa proyek menjadi strcuture yang lebih dapat diuji. Ini bisa dengan mudah dilakukan dengan webforms juga (pola MVP), tetapi mengharuskan pengembang untuk memiliki pemahaman tentang ini, banyak yang tidak.
Bentuk web dan MVC keduanya alat yang layak, keduanya unggul di bidang yang berbeda.
Saya pribadi menggunakan formulir web karena kami terutama mengembangkan aplikasi B2B / LOB. Tetapi kami selalu melakukannya dengan pola MVP yang kami dapat mencapai 95% cakupan kode untuk pengujian unit kami. Ini juga memungkinkan kita untuk mengotomatiskan pengujian pada properti dari nilai properti webcontrols yang diekspos melalui tampilan misalnya
) Saya tidak berpikir tingkat pengujian ini mudah dicapai di MVC, tanpa mencemari model saya.
sumber
Anda tidak merasa sedih untuk menggunakan 'kontrol non-post-back' lagi - dan mencari cara untuk menghancurkan mereka ke lingkungan asp.net tradisional.
Ini berarti bahwa kontrol javascript modern (gratis untuk digunakan) seperti ini atau ini atau ini semua dapat digunakan tanpa mencoba menyesuaikan pasak bundar dalam nuansa lubang persegi.
sumber
Kontrol javascript modern serta permintaan JSON dapat ditangani dengan lebih mudah menggunakan MVC. Di sana kita dapat menggunakan banyak mekanisme lain untuk mengirim data dari satu tindakan ke tindakan lain. Itu sebabnya kami lebih suka MVC daripada formulir web. Kami juga dapat membuat halaman yang ringan.
sumber
Pendapat pribadi saya adalah bahwa, Kelemahan terbesar menggunakan ASP.Net MVC adalah yang
CODE BLOCKS
dicampur denganHTML
...html neraka untuk pengembang yang mempertahankannya ...
sumber