Microsoft Releases RC1 of ASP.NET MVC
Microsoft today made available Release Candidate 1 (RC1) of its ASP.NET Model View Controller (MVC), a design pattern for test-driven development of enterprise-scale Web applications.
The RC, which offers several new capabilities and bug fixes, is feature-complete. The final release is slated to ship next month barring any critical issues in the RC, according to a blog posting by Scott Guthrie, corporate vice president of Microsoft's developer division.
The ASP.NET MVC, which works with Visual Studio 2008 and the free Visual Web Developer 2008, is Microsoft's answer to the popular Ruby on Rails framework used by Web developers for fast prototyping of apps based on the Ruby dynamic language. The Rails team announced in December that Rails 3 would merge with Merb, a modular Web framework.
Microsoft's implementation of MVC enables ASP.NET developers to move beyond WebForms to a commonly used architectural and design pattern that separates the app's database and XML (model), user interface elements (views) and logic (controller).
"MVC promises ASP.NET developers freedom from the increasingly onerous constraints of the page lifecycle and ViewState/Postback model," wrote Roger Jennings, OakLeaf Systems principal consultant, in a Redmond Developer News TechBrief on ASP.NET MVC.
Other MVC frameworks for ASP.NET include the open source MonoRail, sponsored by the Castle Project. MonoRail supports .NET 1.1, 2.0 and Mono.
Guthrie first unveiled ASP.NET MVC in late 2007 with the intent to release it in the first half of 2008. Since 2007, Microsoft has released five previews and one beta of the framework.
In his blog posting, Guthrie said RC1 includes bug fixes, new Visual Studio tooling and feature enhancements related to unit testing and AJAX, among other improvements. Some of the new VS capabilities include:
- Add Controller Command: Developers can now type "Ctrl-M, Ctrl-C" within an ASP.NET MVC project or right-click on the /Controller folder and choose the "Add->Controller" context menu item to create new controller classes.
- Add View Command: This allows developers to type "Ctrl-M, Ctrl-V" within a Controller action method or right-click within an action method and choose the "Add View" context menu item to create new view templates.
Guthrie recommends developers read the release notes (available for download here) before upgrading to the RC from the previous beta.