views:

173

answers:

6

Possible Duplicate:
Traditional ASP .NET vs MVC

I am new to .net world coming from java , I know some jsp and jsf, I want to start learn web development in .net, so now I want to chose what to learn ASP.NET MVC (open source) or ASP.NET.

Please help me to chose one of them and why?

+7  A: 

Microsoft made a small video about it recently: Choosing the Right Programming Model.

Also take a look at this article: About Technical Debates (and ASP.NET Web Forms and ASP.NET MVC debates in particular).

Also either if you go for webforms or mvc there's a great amount self learning material on both over at www.asp.net to be found.

XIII
+1  A: 

@radi - asp.net mvc IS asp.net. the differentiation is between asp.net webforms and asp.net mvc.

There are loads of debates on SO supporting one over the other. my preference - hmmm - mvc!!

jim
A: 

If you are moving from Java and JSP learning ASP.NET MVC will be much more easier. ASP.NET Web Forms are very specific.

Edit: Why should you learn MVC instead of Web Forms? Because you probably already know HTTP processing from JSP + servlets and MVC uses very similar approach. I have implemented MVC in Java many ears ago and when I compare my implementation with ASP.NET MVC I see that controller = servlet, view = JSP, view model = Java Bean.

ASP.NET Web forms are very different from the web frameworks you already know. Web forms were initially designed to hide HTTP processing and to allow Windows developers immediatelly create applications for web.

Ladislav Mrnka
+7  A: 

I recommend learning MVC, but that's just because I prefer the request/response concept of the web without having to concern myself with Microsoft-ism's like Page Lifecycle, PostBack, and ViewState. Most MVC fans will tell you that these details were Microsoft creating problems that didn't exist.

The ASP.NET WebForms model was designed to get WinForms developers to write for the web, and it's just ugly (again IMO). Control-style structures are a bit of an antithesis on the web.

MVC is open source, but open sourced by Microsoft. Just because you can download the source code from Codeplex, it's not really open source the way a jQuery plugin, Fluent NHibernate, Ninject, StructureMap, etc. is open sourced.

Jarrett Meyer
+2  A: 

Asp.net MVC is still Asp.net

Asp.net MVC is not really open source. It's developed inhouse at Microsoft by their stuff. The code is public, but that's all. And it's built on top of Asp.net.

But since I've been an Asp.net WebForm developer since version 1.0 and then switched to MVC since version 1 I would suggest you rather learn MVC. Others may protest, but apart from the very simple applications where you can really just drag/drop controls on the page I rather use MVC.

Asp.net MVC is much better suited to the stateless HTTP protocol hence web applications.

Asp.net WebForms on the other hand were made to make desktop developers' lifes easier to switch to web applications. They use the same event control even models etc. But there's a whole abstraction layer between HTTP and the UI that makes things much more complicated. Especially when developing modern complex web application.

Robert Koritnik
A: 

Hi,

nice, I'm asp.net developer moving to java :) ...

The best choice is starting from C#2008, asp.net, and than all other. Remember, if you are a good java/jsf developer you will learn C# and asp.net very fast.

If you are planning to buy a book (recomended), I think that Wrox books are really good for .NET.

Fabio Beoni