Asp.Net web Formları ve Asp.Net MVC arasında çok büyük farklılıklar var. Senelerce Asp.net web formları ile uygulama geliştirdim. Daha sonra Asp.Net MVC'ye geçiş yaptım ve bir daha web formlarına dönmedim.
Aşağıda çok fazla tenik detaylara girmeden, anlaşılır bir şekilde bu farkları anlatmaya çalışacağım.
Temel olarak asp.net web formları ve asp.net MVC arasındaki farklar şunlar:
- Öncelikle Asp.net MVC HTML çıktısı çok temiz. Saf HTML. Bildiğin üzere biz sunucu taraflı kod yazıyoruz. Yazdığımız kodlar sunucuda derleniyor ve HTML'e çevriliyor. Asp.net klasik sürümde bu çıktıların içinde viewstate ve benzeri ek kodlar geliyor. Bu da sayfa boyutunu büyütüyor ve SEO açısından ve hız bakımından sorunlar oluşturuyor.
- ASP.NET MVC belirli bir disiplinde kod yazmanı sağlıyor. Daha düzenli bir proje oluşturabiliyorsun. HTML ve sunucu taraflı kod çok iyi bir şekilde ayrılıyor. Bu da projenin yönetimini çok daha kolay hale getiriyor.
- MVC bir tasarım kalıbı. Sadece Asp.net'e özgü değil. Bu da daha kaliteli kod yazmana olanak sağlıyor. Daha önce karşılaşılan pek çok probleme çözün oluyor.
- MVC uygulamanızı test edilebilir kılıyor.
- Asp.net MVC HTML üzerinde tam kontrol sağlamanı sağlıyor. Bu geliştirici açısından büyük kolaylık.
Temel olarak farklılıklar bunlar. Asp.Net Web formlarının hiç mi artık yanı yok? Elbette var. Eğer hızlıca bir uygulama geliştirmek isteniyorsa o zaman asp.net web formları kullanılabilir. Fakat asp.net mvc'ye alışıldığında bence mvc ile de aynı hızda uygulama geliştirilebilir.