Now that Visual Studio 2008 is Out, Where is My MVC?

Now that Visual Studio 2008 has been released we are one step closer to having the ASP.NET MVC Framework in our hands.   This is one of the biggest pieces of Microsoft technology, in my opinion, that will change ASP.NET development for the better.

Since I don’t have the ASP.NET MVC Framework in my hands yet I can only make statements from the demos I have seen and from those lucky few that have had a chance to play with it.

So what makes having a different framework to write ASP.NET applications with besides WebForms important? 

  • One of the most important reasons to use the new MVC framework is getting rid of ViewState and ViewState management.  ViewState is one of those things that tend to creep up on you and before you know it your web page is huge and you have to start cutting down ViewState usage.  This is something developers should not have to worry about and manage, it’s just a waste of time.
  • Secondly, no more PostBack and PostBack Events.  Here we go again, something developers should not have to waste their time managing.  Frankly, having to have intimate knowledge of when to perform certain actions in various events leads to code that is hard to manage and maintain.  Unless you have this particular knowledge you may be inadvertently writing bad code.  I think this model was created to try to make web application development as close to being WinForm development as possible and make the job of the developer easier.  The intention probably wasn’t to make it harder.

What do we really gain from an MVC implementation?

  • Developers will be able to make use of the framework from static as well as dynamic languages, such as IronRuby and IronPython.   Much of the things that make Ruby on Rails so attractive can now be done in IronRuby using the MVC Framework.
  • Architecting a solution will be much easier and cleaner when we have very clear separation between the view, the controller and our models.   When developing a solution in ASP.NET using webforms we always have blurred lines between our different layers, no real distinction.
  • Testing will be so much easier with the innate ability for testing in an MVC pattern, we will not be pulling our hair out trying to perform the tests we know we should be doing.  Sure, we can and do test now but it is not the easiest of tasks.
  • We can also chose how we want to handle our views with third party support such as NVelocity, Brail or Microsoft’s flavor of view engine that will support ASP.NET.  We will have choice available to us.

We can forget about MonoRail and what that has given us.  MonoRail will find its place once the ASP.NET MVC Framework comes out.  My guess will be that it will take advantage of what Microsoft does and extend it for the better.    Hammett has some thoughts on this too.

I think Ruby on Rails has a lot of influence in the MVC Framework and for good reason, Rails is popular, Rails works and it really helps create maintainable and testable code.   I really enjoy working with Rails and because of this, I am looking forward to the MVC Framework. 

I hope the MVC team takes advantage of Rob Conery’s SubSonic project to give us things like Scaffolding and dynamically creating classes from our models.  I know LINQ will do wonders to make it happen.  I would like to add generation of controllers and models to my wish list too.

Maybe Santa will leave the MVC Framework in my stocking……..

Technorati Tags: , ,


7 responses to “Now that Visual Studio 2008 is Out, Where is My MVC?

  1. We won’t have it by Christmas. Scott Guthrie mentioned at the AltNetConf that we might have it mid-2008

  2. Yes, that is what I understood as well. I guess I was hoping for a CTP soon so those of us not as priviledged as maybe…yourself, could start playing with it.

  3. Apache and Sun has introduced popular MVC frameworks nearly 5 years back as form of Struts and JSF.

    and also eclipse contains all the features contained by vs2008 before 1year.

    and it contains lot more even it has capability to communicate with different web server and app servers for debugging.

    and LINQ feature is available 3 years back as form of java Hibernate

    and even if you see the performece between both eclipse and vs 2008. eclipse is lot more faster than vs even in 512MB RAM.
    and it is plugble IDE, we can do any sort of thing by installing adons

    and lot lot more….

    then what this Microsoft is doing better and how it gives new features instead of thinking always in GUI part.

    But as a Microsoft fan anyhow here I have decided to write only good features of Visual Studio 2008

  4. I know Sun and Java were ahead of Microsoft with related MVC frameworks, but I am not a Java developer and never have been. It is unfair to really compare Sun and Microsoft, much like comparing apples and oranges.

    These two companies have their hands in particular companies and these companies are generally loyal to their chosen brand.

    As a .NET developer, I would not consider Java, Eclipse or any of their open-source projects, not because they are bad but because I am not familiar with them.

    Thanks for the comment.

  5. I’ve evaluated a variety of frameworks. Ruby on Rails is ideal for CRUD applications and rapid prototyping. Adobe Flex is even better for rapid prototyping because non-programmers can rapidly build rich applications.

    JBoss Seam is the Ruby competitor in the Java world. It marries the best available–Java Server Faces (JSF), Facelets, Java, Hibernate, POJOs (Plain old Java Objects) and EJB3. The problem is the learning curve. It could and should be easy but writers expect you to have a five-year history in Java frameworks.

    JBoss Seam is the only framework I’ve found that correctly manages state information and the Back button, and without much effort on the programmer.

  6. Hi
    Wasjust serfing on net and found this site…want to say thanks. Great site and content!

  7. @Royagmug Thank you and glad I could help.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s