Tuesday, December 11, 2007

ASP.NET MVC is here

ScottGu has announced the CTP release of ASP.NET 3.5 Extensions. This is great news for ALT.NET and really has made my week. As regular readers might realise the key part of this release for me is the MVC (Model-View-Controller) framework for ASP.NET.
ASP.NET MVC: This model view controller (MVC) framework for ASP.NET provides a structured model that enables a clear separation of concerns within web applications, and makes it easier to unit test your code and support a TDD workflow. It also helps provide more control over the URLs you publish in your applications, and more control over the HTML that is emitted from them.”
I think this finally gives ASP.NET developers some much needed flexibility. The guys at Microsoft are taking pains to point out this is not a replacement for the existing WebForms model, but they point to the following reasons to use the new framework:
  • It allows developers to use the MVC pattern with ASP.NET more cleanly than ever before.
  • It makes it easier to implement RESTful (Representational State Transfer) systems and to control your URLs using ASP.NET
  • The MVC pattern allows for easier unit testing of business logic behind pages (now in controllers) and therefore helps promote the use of Test-Driven Development with ASP.NET.
I have some personal reasons for looking forward to this framework that may be too politically sensitive for the ASP.NET guys to admit to:
  • This kills off the one form per page restriction, allowing for XHTML that more closely matches the functionality of the page.
  • No more viewdata is a pain, but it also means that ASP.NET developers can now more easily incorporate other client-side frameworks into their applications (e.g. Yahoo! User Interface Library, Script.aculo.us, Prototype, etc)
  • Ruby on Rails is looking a whole lot less attractive as ASP.NET MVC offers much of the same clarity of design whilst leveraging my existing ASP.NET skills.
I will probably devote a few more blog posts to exploring this interesting ASP.NET development, so feel free to let me know (via the comments) what you might be most interested in knowing about.

No comments:

Post a comment