开发者

ASP.NET learning path [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for 开发者_如何学运维guidance. Closed 11 years ago.

I want to ask experienced ASP.NET developers about how to climb the learning curve of ASP.NET.

I am an experienced C++ and C# developers with no web application experience.

I found ASP.NET MVC and ASP.NET are two different technologies. I just want to ask:

  1. Whether these two technologies will co-exists or MVC will replace ASP.NET?
  2. If I want to learn ASP.NET MVC. Do I need to learn ASP.NET as a prerequisite?
  3. Can you recommend some learning resources? Book? Video? Not paid Microsoft training :(

Many thanks


First of all ASP.NET is request/response pipeline. This means that you are given access to the request and response streams as well as some provisions like, session, cache, security, etc.

On top of this there are 3 frameworks in charge for generating HTML. The first and oldest is known as ASP.NET Web Forms. Because it was the only one it is sometimes called ASP.NET but this is not correct in the current state of things. ASP.NET MVC is the second one and there is a third one known as ASP.NET Web Pages. All 3 of these share the same core ASP.NET request/response pipeline and the APIs for Session, Cache... What is different is how they generate HTML.

You can check my answer to this question for more info. Asp.Net Web Forms and Asp.Net Web Pages

And to answer your concrete question - no Web Forms is not going away. A lot of people use it, MS are releasing new versions.

Web Forms is pretty good for people with desktop background because it uses a control model familiar to desktop devs and also has something that simulates state. It also requires less knowledge of HTML, JS, CSS. ASP.NET MVC is kind of the opposite. It gives you a lot of control but requires a lot of knowledge about the web.

I personally prefer Web Forms to MVC for a variety of reasons that I will not list here but even Web Forms supporters (and especially me) will admit that Web Forms is pretty bad way to learn about the web because it abstracts a lot of things. This gives you productivity, security, etc. but can result in cases of leaky abstraction if you don't know how the underlying framework works and it is pretty easy to skip learning the details because you know stuff just works... until it breaks and then you don't know where to start.

Ultimately the choice is yours but if you start with Web Forms be sure to learn about HTTP verbs, cookies, raw response stream, http headers, html form/submit model inline css vs separate files and javascript out of the context of Web Forms and make sure you know how Web Forms automates these.


1) Whether these two technologies will co-exists or MVC will replace ASP.NET?

The official position of Microsoft today is that those two technologies will coexist. ASP.NET MVC will not replace classic ASP.NET. At least Microsoft will continue shipping new features in ASP.NET.

2) If I want to learn ASP.NET MVC. Do I need to learn ASP.NET as a prerequisite?

Not necessarily but it will be better if you learned it because as ASP.NET MVC is based on ASP.NET kernel and it will help you be a better understand the underlying technology.

3) Can you recommend some learning resources? Book? Video? Not paid Microsoft training :(

http://asp.net/mvc is a good start.


Can't say if one is going to rule the other one out. But the easiest to learn is asp.net MVC. Pro ASP.NET MVC 3 Framework

this is a good book to learn it.


http://www.w3schools.com/aspnet/default.asp
http://aspauthors.com/aspnetbyexample/
http://www.exforsys.com/tutorials/asp.net.html

Some links which may useful to you.


Darin gives you good answers on 1 and 3, but i disagree some on 2:

2) If I want to learn ASP.NET MVC. Do I need to learn ASP.NET as a prerequisite?

No. ASP.NET WebForms (often reffered to as just ASP.NET) has a VERY different paradigm.

While ASP.NET WebForms tries it best to hide all the web (like POST vs. GET, the HTML, how to maintain state) stuff from you, ASP.NET MVC is dependant on knowing and understanding the same things. Learning aboutWebForms' ServerControls and ViewState are of little help.

There are of course parts of the ASP.NET stack that you'll encounter in both WebForms and MVC. The different state mechanisms (session, application, cookies etc.), the Server, Reguest and Response objects, caching mechanisms, jQuery etc. are used in both places.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜