ASP.NET MVC 2.0 and VS 2010 plan now public

Subscribe to my feed here:  http://feeds.jeffreypalermo.com/jeffreypalermo

Phil Haack has shared some of the plans in the works for ASP.NET MVC 2.0  After the initial release, the team didn’t slow down at all.  They have a great line-up, and I’m going to share it with you in this post.  Before some of the feature areas, I wanted to share some of what the team has stated are the targets for the v2.0 release.

Earlier this year, I made the prediction that within 2 years, the majority of new ASP.NET projects would choose the MVC route instead of WebForms.  I believe that the targeted scenarios in the 2.0 roadmap support my prediction.

With the 1.0 release, the target from Microsoft is to provide another options for ASP.NET developers.  They stand by both IHttpHandler implementations and pledge to support and enhance both going forward.  As of right now, there are some legitimate concerns about using ASP.NET MVC on certain teams where the skillset of the developer is heavily focused on designer development and UI controls.  Also, there are some scalability scenarios that require an add-on or custom development.

Enterprise Ready

ASP.NET MVC 2.0 has a goal of being enterprise ready.  They are targeting the enterprise with some of the upcoming features.  This is interesting to me because some of the naysayers stood behind the idea that WebForms was for the enterprise and that ASP.NET MVC is for “small websites”.  All-in-all, you can do enterprise development with either of them.  In my opinion, it’s an architectural decision fraught with many trade-offs, but I digress.

Backwords compatibility

For ASP.NET 2.0, we will be able to use it with Visual Studio 2008 SP1 as well as 2010.  I’m glad this is the case, and until there are some .Net 4.0 features baked in, it will continue to be possible.

What you’ve been waiting for:  the feature list

I’m going to cut to the chase and just quote what Phil Haack posted on the CodePlex ASP.NET site:

  • Areas - Provide a means of grouping controllers and views to build out subsections of a site in isolation.
  • Asynchronous Controller Actions - Provide an asynchronous programming model for controller actions for improved scalability.
  • Strongly-typed input helpers – Expression-based helpers for generating form fields against the model.
  • Strongly-typed link helpers – strongly typed helpers for generating action links
  • Support for Data Annotations - The default model binder will include support for Data Annotations attributes (a la Dynamic Data).
  • Caching Improvements - Improve various caching scenarios.
  • Misc - Various improvements
  • What I’m most excited about

    Areas are very interesting!  Now, the term “areas” has different meaning from this in MonoRail as well as the current implementations out there.  Currently, we can use it to group controllers and views.  If I read this correcting, this implementation will take routes into consideration also.

    Imagine this scenario:  I start a project that needs user logins and a user administration section to create users, reset passwords as well as role-based configuration. . . .with ASP.NET MVC areas, I would be able to take a dependency on, let’s say, MvcContrib.UserManagement.dll, and in my Application_Start() method just call a few lines of start-up code to wire in the routes of the user management pages.  After that, the urls would just be handled by the other assembly.  I’m sure I’d have to implement some interfaces defined therein to hook into my own User object, but the power of this is just tremendous.

    Here is another prediction

    “Areas are the control model (commercial model) for ASP.NET MVC”.  You heard it here first, folks.  No, actually you didn’t.  The masterminds are on Phil’s team.  If the team gets nothing else, I sure hope areas stay at the top of that list.  This is going to be a very exciting release!

    We can’t say thank you enough

    Phil, and the ASP.NET MVC team had an extremely open and transparent 1.0 release cycle with half a dozen public CTPs released.  They got loads of feedback, and sometimes it’s a bit negative.  Then again, if nobody cared about the product, no one would say anything. 

    This product is doing so much to streamline the development of my company, Headspring Systems.  We were headed down a course of MonoRail adoption (and we have that in production as well) when ASP.NET MVC came along.  I want to say “thank you” again to:

    • Scott Guthrie for his visionary leadership and initial prototype
    • Phil Haack for his leadership to make the vision a reality
    • Rob Conery, Levi Broderick, Eilon Lipton, and everyone else at Microsoft who made the product a reality
    • Scott Hanselman for marketing the product to the community
    • Brad Wilson for laboring with the idea of Dynamic Data templates with ASP.NET MVC (don’t give up!)

    Comments

    5x1llz said on 6.07.2009 at 11:53 PM

    Yes read this when it came out (twitter doesn't sleep)

    Some of these features are already available in the Microsoft.Web.Mvc.dll a.k.a. Mvc Futures.

    Can't wait for this to be officially released

    Travis said on 6.09.2009 at 3:18 PM

    Where is this "MvcContrib.UserManagement.dll" that you speak of? :-)

    dervalp said on 6.12.2009 at 2:09 PM

    I agree with you. Finally, Microsoft is on the right way ! And I do not agree when people says that MVC is for small business. We are building a support application for managing a lot of data in our company. We are doing that with the ASP.NET MVC framework and the framework help me to extract all the qualities of my developers. Jquery/css for my intgrators (who knows nothing in .NET). C# with linq to Sql for the back-end developers (me included). I took a risk by choosing MVC but for the moment, nothing to say. Coupled with some agile methods, we deliver a demo to our customer after one month. I can't imagine that result with the standard .NET web forms. Maybe it is my team who fit well in this kind of architecture, I do not know, but for me, for the moment, that's awesome....

    Jeffrey Palermo said on 6.12.2009 at 3:51 PM

    @dervalp,

    That's good to hear. ASP.NET MVC is, indeed, a very powerful, yet simple framework for ASP.NET applications.

    Smartphone review said on 6.14.2009 at 2:09 PM

    I've been programming MVC for 9 years on the J2EE platform, I think it's great Microsoft also implements their own MVC Framework.

    Danny said on 7.01.2009 at 9:16 PM

    Kudos to ScottGu and his tremendous team.

    Special thanks to Stephen Walther who has left the MVC team but leaves behind a good body of work including MVC tips ,

    how-to videos and the pending release of his MVC Unleashed book. I look forward to Manning MVC In Action as well.

    Systems Integration Consultant said on 11.28.2009 at 5:21 AM

    The new Areas functionality sound great. It sounds like this is the piece of functionality that I have been waiting for!

    Off to download VS 2010 Beta 2 for a play.............