Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've got a few choices to make as I develop some business websites that will run for the next two to three years.

Currently I run ASP.NET 3.5 with Visual Studio 2008. I do my development rather crudely in WebForms because that's what I learned and am most productive with. I don't use Membership or any other frameworks in my projects. I use a simple class that maintains a few session keys for each user based on basic database tables for users and roles. (I have about 3,000 users).

So far I've kept the data simple, using ADO.NET against SQL Server and a data access class (Circa 2000, I know) to build my sites.

My questions are as follows:

  1. Under what conditions would I be better off moving to MVC?
  2. Under what conditions would I find LINQ and ORM a better way to go than standard ADO.NET?
  3. Would I benefit, in my current state of development, from going from Studio 2008 to Studio 2010?
share|improve this question
    
Can you elaborate a bit? You mention "based on your goals in your question", but the only goal I see in here is that the sites have to be up and running for the next couple of years ;-). Are these new sites btw, or a you planning on maybe modifying the existing ones? –  Syg Jan 25 '11 at 22:28
    
They're new sites. –  Caveatrob Jan 25 '11 at 22:31
add comment

3 Answers

Being in kind of a similar situation as yourself (i.e. working with vs2008 and WebForms) I have come up with these issues, as per your question:

  1. MVC is a very different model and approach towards the design and development of the websites/applications that you mention. You should "study" first what MVC is and how it works and decide whether or not it suits you best. Apart from that, however, you should also consider the fact that currently MVC has a lot more community support and a lot more progress than WebForms. In other words, you'll find a lot more new stuff for an MVC based approach than a web forms one. Personally, I'd go for MVC even if just for the change.

  2. LINQ and most ORMs in that manner, are very helpful in terms of both security and efficiency. It will be easier for you to start developing, writing just C# code, instead of having to deal with the SQL as well. In terms of efficiency, in most cases you'll be more than alright, and in the rare cases when the ORM "slows you down" it is quite easy to write your own custom SQL if necessary. Again, LINQ or EF etc have a lot of community support.

  3. Visual Studio 2010 is the new Visual Studio. VS 2008 is the previous version. Or to put it simply, I do not think that there is any benefit in sticking with the "older" version, unless it's a money thing (i.e. it's expensive for you to buy or something). In any other case, there is no reason why you should not use Visual Studio 2010, either for WebForms development, or MVC and LINQ.

The above answers, are solely based on my opinion and my experience as am currently in the transition myself. I use VS 2010 and LINQ in many occasions, so I have a preety decent grasp on these. However I have yet to get in deep with MVC to have a more concrete opinion.

Cheers!

share|improve this answer
    
That's precisely my experience, linq and vs2010 are great, but I just don't see the benefit of mvc yet –  CaffGeek Jan 25 '11 at 22:51
add comment
  1. Under what conditions would I be better off moving to MVC?
  2. Under what conditions would I find LINQ and ORM a better way to go than standard ADO.NET?
  3. Would I benefit, in my current state of development, from going from Studio 2008 to Studio 2010?

I think you need to prioritize what you want to learn first and go from there. I think your first move should be going to 2010. The new version is a massive overhaul and gives you access to .NET 4 and its improvements.

After that, I would start learning LINQ and either nHibernate or Code-First EF, they remove so much of the repetition that working with databases requires.

Finally start exploring ASP.NET MVC. You'll fall in love with it's simplicity.

If you want to see a great summary of how all the pieces fit together look at Scott Hanselman's post on the topic (note the EF preview is now on release 5).

share|improve this answer
add comment

I will start with the last one:

3 Would I benefit, in my current state of development, from going from Studio 2008 to Studio >2010?

Yes, it's just a new and improved IDE. It has framework targetting, allowing you to continue working in .Net 3.5 if you choose to do so. This move doesn't require you to rewrite your entire codebase. Visual studio will migrate your projects to the new Visual Studio version.

It's just a better IDE: I especially like the extension manager, allowing you to install (and create) IDE extensions easily. Also, the package manager is a beautiful thing.

1 Under what conditions would I be better off moving to MVC?

This is a tough question. I think MVC is the direction in which web development using the Microsoft stack will continue to develop. It allows for cleaner code and unit testing. It's never a necessity. You can pretty much accomplish anything with either method.

I recently moved to MVC and i'm not going back. Ever.

2 Under what conditions would I find LINQ and ORM a better way to go than standard ADO.NET?

Not an expert here, but ADO.NET propably has better performance. So, if top notch performance tweaking isn't at the top of your list, you might consider LINQ and ORM for ease of use and code readability.

And for all the stuff in general, All the technologies are here to stay, you have to start learning them sooner or later. Sooner is better.

Also, you forget to mention .Net 4.0.

Hope this helps

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.