In my humble opinion, MVC for ASP.NET was a very important addition to the ASP.NET stack. WebForms was a bad model that only led people to develop poorly performing web applications. The was largely attributed to the Post-back paradigm that was utilized by most WebForm controls. In any case, MVC tends to be a better pattern because when you PostBack, you are generally going to be more aware of it (because you will probably have to implement some code in the controller). It is not a transparent operation like it tended to be in WebForms.
Anyway, getting back to the matter at hand, ASP.NET MVC 2 Preview 1 has been released. According the ASP.NET MVC Roadmap, the theme for ASP.NET MVC 2 is "Improved Productivity and Enterprise Ready."
Here are a list of features that will be available in preview ASP.NET MVC 2 Preview 1
- Templated Helpers - allow you to automatically associate edit and display elements with data types. For example, a date picker UI element can be automatically rendered every time data of type System.DateTime is used. This is similar to Field Templates in ASP.NET Dynamic Data.
-
Areas - provide a means of dividing a large web application into multiple projects, each of which can be developed in relative isolation. This helps developers manage the complexity of building a large application by providing a way to group related controllers and views.
-
Support for Data Annotations - Data Annotations enable attaching validation logic in a central location via metadata attributes applied directly to a model class. First introduced in ASP.NET Dynamic Data, these attributes are now integrated into the default model binder and provide a metadata driven means to validating user input.
And for Preview 2:
-
Client Validation - builds on top of the Templated Helpers and Data Annotations work done in Preview 1 to provide client-side validation based on the model's validation attributes. This provides for a more responsive experience for users filling out a form with validation.
-
Strongly-typed input helpers - allow generating form input fields using code expressions against the model. This allows the helpers to take advantage of Data Annotations attributes applied to the model and reduces errors caused by lack of strong typing such as typos.
-
Strongly-typed link helpers - allow developers to take advantage of Intellisense support (due to the strong typing) to discover which controllers and actions are available for linking.
-
Asynchronous Controller Actions - provides a programming model for writing actions that can call external resources without blocking a thread. This can increase the scalability of a site that needs to interact with web services and other external services.
-
Areas - continued refining of the Areas feature, enabling a single project approach for developers who wish to organize their application without requiring multiple projects.
-
Other Improvements - continue to fix known issues carried over from ASP.NET MVC 1.0 as well as ASP.NET MVC 2 Preview 1. Also including API improvements based on user feedback along with minor new features.
I am really excited about ASP.NET MVC! I am so happy that the ASP.NET development team finally gave us an alternative for WebForms. I started using MVC about 3-4 years ago in J2EE and I was always disappointed that there was not an equivalent technology for ASP.NET. Now that I have MVC and LINQ I feel like the boundaries have been lifted.
Related Articles:
Hanselminutes on 9 - ASP.NET MVC 2 Preview 1 Released
ScottGu's post on ASP.NET MVC 2
Download Page for ASP.NET MVC 2 Preview 1