ASP.NET ile MVC programlama, sonunda!
ASP.NET’in varsayılan programlama yaklaşımı Web Forms‘a bir türlü ısınamıyorum, ısınamayacağım da. Oysa ki klasik ASP (3.0) ne güzeldi, bir Request bir de Response nesnesi yetiyordu. Tamam, sayfanın yenilenmesi gibi durumlarda form değerlerini olması gereken yerlere doldurma hammalığı programcıya kalıyordu, ama ASP.NET’in <form runat=”server”> mantığı da pek hoş değildi. Binbir türlü yol (postback, viewstate, vs.) ile Microsoft mühendisleri web programcıların daha az kod ile hızlı bir şekilde nam-ı diğer Web Form Uygulamaları yazmalarını sağlıyordu. Bu çabaların hakkını vermek lazım, zira ASP.NET ile web programlama öyle bir duruma gelmişti ki Visual Studio ortamında masaüstü uygulama yazmaktan pek bir farkı kalmamıştı. Asıl amaç da bu değil miydi zaten, Visual Studio ile yıllardan beri aşina olan Microsoft teknolojileri odaklı programcıların bu yeni web programlama yaşam döngüsüne hızlı bir şekilde uyum sağlamaları. İyi güzel de bir şey unutuldu gibi geliyor bana, yazılan uygulamalar web uygulamaları olacaktı. Yani masaüstünden tamamen ayrı bir ortamda hayatlarını sürdüreceklerdi. Öyle bir ortam ki sunucu tarafını ayrı düşünmek, istemci (browser) tarafını ayrı düşünmek ve ona göre kod yazmak gerekiyordu. Web’in eti-kemiği olan HTTP protokolünü ve HTML dilini sular seller gibi bilmesek de bir formu GET veya POST ile göndermenin farkını, hangi etiketin nerede kullanıldığında daha anlamlı olacağını bilmek bir web programcısının boynunun borcu olsa gerek.
Oysa ki ASP.NET’in arkasında muazzam bir framework, BCL (Base Class Library) var. Klasik ASP’de olan Request, Response, Session, vs. nesneleri bunda yok mu; var tabii ki hem de çok daha zengin, çok daha kullanılabilir. Bana göre tek yanlış olan bunların üzerine kurulan ASP.NET Web Forms yapısı. MonoRail isimli proje ile RoR’daki web programlama mantığı .NET ortamına getirilmeye çalışılıyor. Bunun ile bir proje geliştirmeye fırsatım olmadı ancak muhtemelen Web Forms mantığından daha uygulanabilir olacağını tahmin ediyorum.
İşte bu noktada ScottGu geçtiğimiz haftalarda ALT.NET konferansında Microsoft tarafından geliştirilmekte olan ASP.NET MVC Framework’unu tanıttı. Daha üzerinde çalışmalar süren bu frameworkun bu yıl sonuna doğru genel önizleme (“public preview” demek istiyorum :) ) sürümü geliştiricilere bir CTP olarak sunulacak. .NET 3.5′e dahil olmayacak bu framework, aynı ASP.NET AJAX (Asynchronous Javascript And XML) (daha önce Atlas olarak da bilinen) gibi ASP.NET üzerine ek bir framework olarak dağıtılacak. 2008′in ilk yarısında da son halinin çıkması planlanıyor.
Orjinal duyuruyu ScottGu’nun blogunda; ayrıntılı bilgiyi, blog camiasından konu ile ilgili linkleri ve ScottGu’nun tanıtım videosunu (izlemeniz şiddetle tavsiye olunur) ScottHa’nın blogunda bulabilirsiniz. Konu ile ilgili (blogunu yeni keşfettiğim) Muhammed Tahiroğlu’nun yazısını da okumanız tavsiye ederim.