views:

205

answers:

7

I'm a .NET desktop developer, I know WinForms, WPF, C#...

I want to learn about web development. I know XHTML, CSS, Javascript. I started learning PHP but I prefer C#.

That's because I thought about learning ASP.NET to take the advantage of my .NET knowledge.

Where to start? Plain ASP.NET first? ASP.NET MVC? What about ASP.NET AJAX? I know nothing about ASP.NET.

Are there any good books?

It's ASP.NET a good option for learning web development? I know that PHP have thousands of examples but... ASP.NET? Is there open source code / projects for learning?

I think of ASP.NET and J2EE for Enterprise develpment and not for a web application like a TODO's list or vocabulary database made for 1 guy (me :P). Am I wrong?

A: 

You sound apprehensive about investing a lot of time and money in learning something new (and I don't blame you).

With that in mind I would suggest that you take a look at this ASP.NET tutorial at W3Schools to get an idea about whether or not this is for you. It is a WebForms tutorial (not ASP.NET MVC) which I recommend because it will be an easier transition for you. This is a way for you to figure out if this is something that you would like to do.

As for tutorials and code examples, the internet is rife with them! Just look around, I am sure you will find some...

Andrew Hare
+1  A: 

It depends some on what you plan to build. I'd say that MVC is "harder" than WebForms since you need to know more about web development (such as posting forms, stateless, etc). Coming from a WinForms background you might be more comfortable starting with WebForms to get your feet wet. Then as you learn more, make your way into MVC.

WebForms abstracts a lot of web development, so you should realize that you're still going to have a lot to learn to move onto MVC, but it is a good start.

Hugoware
+3  A: 

I would start with ASP.NET webforms. You could learn ASP.NET MVC but there is much less material on it and it is relatively new to the .NET framework.

Also, the best thing to do when learning a new language is have a PROJECT. This is key. If you have something that you want to accomplish, even if it is just for you, it will keep you learning and running into all the little things that will need to learn and always seem to be glossed over or omitted from tutorials.

Tutorials are great but they don't ever capture the whole picture. Get a small project that you think you can handle and do it with ASP.NET. You will learn a lot more than just going through a bunch of tutorials. Use the tutorials to get the very basics and to learn how to solve specific tasks in your project.

A great place for tutorials is the asp.net website.

Kelsey
The videos on asp.net/learn are priceless +1
Hardwareguy
'much less material'; There's a lot of material on VB, but I wouldn't recommend someone learn it. I don't recommend ASP.NET Webforms because it takes the important stuff out of the developers hands (Viewstate, etc).
George Stocker
It just depends what you think is important. Maybe handling all the stuff like viewstate is important to you. Some people just want to solve a problem where they can concentrate more on the problem than the technology. MVC is great but by no means would I ever say it is 'better'. They have different strengths. Why not just learn to do C++ CGI's for the web... you then have even more control than MVC. At some point you need to decide what is important to the task. MVC is still a great addition to the .NET framework and an alternative not a replacement to webforms.
Kelsey
Kelsey 'solving the problem' by using something that's simple (Webforms) becomes a problem when you're trying to use it in an 'enterprise' application with a lot of users, and you've relied too heavily on that Viewstate crutch. Soon, it produces more problems than it's worth.
George Stocker
A: 

I would start with WebForms first.

For someone in your position, I would recommend working through a copy of Beginning ASP.NET 3.5 in C#2008: From Novice To Professional - Second Edition by Matthew MacDonald.

It's one of those rare, helpful books that tells you why things are done in certain ways in ASP.NET development rather than just the how.

Joe
A: 

The biggest benefit that ASP.NET offers is a similar paradigm to desktop application development. That being said, I'd suggest a simple ASP.NET application to get you started. Don't worry about the ASP.NET AJAX extensions until you get your feet wet.

Babak Naffas
+3  A: 
George Stocker
I absolutely agree with you. I recommend if you can start with classic ASP and try it for few days then switch to asp.net.
this. __curious_geek
A: 

Check out these great videos: http://www.asp.net/learn/videos/#beginners

They are really good for "learning by doing" and bring you from the ground right up to building a whole site and publishing it.

StuperUser