i already built some web applications using asp.net MVC 3 and they work well, and currently i am in the state of starting a new web application for a medical clinic ; but i need to have some advice if i should consider using asp.net MVC 4 beta version instead of asp.net MVC 3? thanks in advance for any help and suggestions ? BR
-
1I would not release any code into production based on a beta. You need to understand when you will ship, when MVC 4 will be available, the risk to your project if MVC 4 slips. Also, please make better use of the "shift" key when asking a question.Eric J.– Eric J.2012-03-16 23:41:36 +00:00Commented Mar 16, 2012 at 23:41
-
@EricJ. - MVC4 has a go-live license. They're pretty confident in the stability of it. Microsoft does not usually allow you to go-live with beta software.Erik Funkenbusch– Erik Funkenbusch2012-03-16 23:52:18 +00:00Commented Mar 16, 2012 at 23:52
-
1Here's at least one change from the beta to the rtm. From hanselman.com/blog/… : "We're going to do this by default in ASP.NET Web API when it releases. (We aren't doing this now in Beta) ... When we ship, none of this will be needed as it should be the default which is much nicer. JSON.NET will be the default serializer AND Web API will use ISO 8601 on the wire as the default date format for JSON APIs"danludwig– danludwig2012-03-17 05:59:21 +00:00Commented Mar 17, 2012 at 5:59
4 Answers
Personally I would start in MVC3 and then upgrade the project to v4 when it's RTMd. Previous versions have had some issues when migrating from Betas (altho see update below).
You can be sure, however, that as with previous version increments, a swift and easy upgrade path will be available (usually there's a project conversion tool released at the same time).
I have a project I'm working on right now, and if I get to the web layer before v4 is finished, I'll be starting in v3 first.
I suppose it does depend, however, on whether any of the new features, such as the adaptive rendering via Mobile views (or indeed the Web API), are intrinsic to your solution. Just don't release on a beta platform :)
Update July 2012
I ended up getting to the web layer of my current project before v4 RTM so decided to go to the RC release first; then the nightly nuget packages for Web API support.
Apart from editor issues (that are documented), I've found no issues, even with integrating a whitelabelling extensibility library I've written, for MVCs 1-3, that operates at a very low level.
Would I have migrated early if I'd not needed the numerous benefits that the Web API provides? Probably not.
But as it is, I'm glad I did :-)
3 Comments
Unless you have a specific reason to use MVC 4 (perhaps a feature that isn't in MVC 3) I would stray away from using beta software for a customer/client. Who knows what bugs/issues you'll have to work around when developing the application or when you upgrade from beta to general release.
There's a reason it's in beta.
Comments
As Mackie says.. unless you need a specific feature in MVC4, i'd stay with MVC3. MVC4 is mostly just new features, and has very few changes in the way MVC itself works.
I disagree with Mackie in his comment about "there's a reason it's in beta", in fact MVC4 is very stable and has a go-live license to allow you to use it in production code. It's just that things may still change before final, which is tied more to VS11 than how stable it is.
Comments
For my thesis I want to develop an application in ASP.NET MVC, so a few weeks ago I had to make the same decision like you. This is my conclusion:
I should advice to use MVC3 (because it's stable) for your business projects. There are some known issues ( http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253815 ) in MVC4 beta, so it would be a waste of time to get stuck one day because of beta problems.
When the time is there you'll be able to convert MVC3 with ease to MVC4. So don't hesitate and choose for MVC3 for now. You can decide later on if you want to upgrade or not. At the link below you'll see how to easily upgrade from MVC3 to MVC4 at this moment: http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806