Thursday, September 2, 2010

Sitecore to Support MVC…What Do You Think?

When I first saw that Sitecore is going to support the MVC architecture in a future release, I wasn’t sure exactly what that means.  I have some experience with MVC.  I know about ASP.NET’s implementation and also the S#arp Architecture that improves upon Microsoft’s version.  To me, MVC architecture is great with applications.  It allows me to separate (decouple) the various layers and actually make coding them a lot easier and focused.  So I ask, is this a way for Sitecore to tell us to start building apps with the Sitecore framework as well? 

I would really like to know up to what level the MVC support will be.  Will there be technology preview?  I would like to get a hand on an alpha release and see how it compares with the other architectures.  I’d like to be able to play with it using ASP.NET MVC Web controls or other commercial libraries.  Maybe Sitecore will just support it to allow those parts of a Website that requires more complex logic, that may be easier to implement with MVC, that are more code-heavy to implement.  I don’t see it being used on a Website which is what a CMS is for. But, I do see it being used for an Intranet or even Sitecore applications.

I’ve seen some forum posts and inquiries about MVC within Sitecore. I’m not sure exactly what they are doing so I can’t speak for them.  However, if you’re reading this and have done it, comment back or post a link to your blog that talks about it.  I think there are tons of people wondering about how one decides on using MVC or just typical ASP.NET form-based approach. 

If you have your own take on this….let us know.

4 comments:

  1. I'm also excited about this feature, I've already seen some Sitecore MVC sites running using webservices but an official integration will be even better.

    I would say that if you're faced with the task of creating a web *application* rather than a web *site* I would pick MVC over webforms any day. If you invest in the framework, that means embracing unit tests and loosely coupled components then it will pay dividends. If you can't bring yourself to do that then your millage may vary ;)

    ReplyDelete
  2. Looking at our architecture you'll probably already have noticed that both architectures are pretty similar(Sitecore and MVC framework ). We pick up the request, handle this by constructing a Context and build up a Presentation structure. Before we did this by just allowing you to create Control-framework components, we'll allow you to combine these with MVC-views.

    Regarding an open or Closed Techical Preview: During Dreamcore our VP Product Development, Kerry Bellerose, answered the question if we would do more Beta/Alpha releases in the future (especially with .NET 4.0 and MVC) in the following way:
    "We don't have the possibility to do intensive Pre-Release Programs. That's simply to complicated (examples: Go-Live licenses and Upgrades tot the final product) and Resource intensive. We rather release more often and change the product with full backward and forward compatibility. In the case of .NET 4.0 and MVC this means that we will add this feature to 6.4 as part of the product, but only make the product run on this technology rather than redoing the architecture. From then we'll open up the discussion to start improving the integration."

    In other words, you'll likely have the capabilities in 6.4, but it's just the first step. We need to your opinion to improve the full integrations for our 6.5 and 7.0 products.
    By adding it now, we allow people to start using the technology(which will be supported in the future), that's top priority.

    Keep in mind that release numbers mentioned above are subject to change. It's up to our senior mangement and product development to decide if a certain feature is stable and usable enough to get released.
    I hope that this answers your questions. Feel free to get in contact with us.

    Thank you for sharing your thoughts,

    Kind regards,

    Alex de Groot
    Solution Architect
    Sitecore Corporation

    ReplyDelete
  3. Alex,

    A quick question. Im in love with MVC because of how easy it is to test, separation of concerns and no ASP.NET forms event model nightmares.

    The reason for this post is that I just went for a job interview and I loved the job but the only thing that might be a show stopper is not being able to continue working with MVC.

    Actually I will take this job but not if SiteCore wont do MVC.

    I have read that, for a content driven site, MVC is not the best approach but surely ASP.NET, although not out of date, is not the way of the future. I don't know what Microsoft's plans for MVC are but I feel that the MVC type model will take over most of the industry.

    Also, what is your opinion on the future of ASP.NET forms?

    I would love your thought on this and sorry if this is already answered on the web, I have been Googling all morning and haven't found a decent final answer. Obviously, I need to decide on this job so I need to find out asap.

    Anyway, if I don't hear from you today, have a good weekend.

    thanks
    RuSs

    ReplyDelete
  4. Sorry, I should have written Marco not Alex. I forgot who's blog it was!!
    Sorry Marco, can you answer my question?

    thanks
    RuSS

    ReplyDelete