For some reason, I have been asked the same question a lot lately. Which is, "I am new to development. Do you have any tips/tricks/suggestions to get me up to date on ASP.NET?". My knee jerk response to this question is usually to point people to Google for the answers. However, there is so much information floating around on the web these days that it can be overwhelming when you try to comb through it all. So, if you are an aspiring ASP.NET web developer then I hope you will find the following links, tips and tricks useful.
The Basics of Web Development
No matter what web technology you develop with, there are some basics that you should understand first:
HTML – If you have never had exposure to HTML then you are going to want to visit W3 schools tutorial page before going any further. In its most primitive form, HTML is very simple and easy to use.
ASP.NET Web Development
When it comes to ASP.NET Development you really have two choices. If you take the blue pill (WebForms) - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill (MVC) - you stay in Wonderland and I show you how deep the rabbit-hole goes.
Yes, I am slightly biased towards MVC even though I don’t want to completely discourage people from WebForms because it still has an important role in the realm of ASP.NET development. However, I truly believe that MVC is the future of ASP.NET, If you have done any sort of web development prior to experimenting with ASP.NET then you may quickly come to the realization that WebForms is a hack. Yes, it really does a bang up job of masking the stateless nature of the web. However, the web is stateless and I would prefer to deal with those shortcomings on my own terms instead of adopting some crazy, half-assed programming paradigm. Why hide the truth from everyone? One of my favorite statements regarding WebForms is from Rob Conery:
"It’s abstraction wrapped in deception covered in lie sauce presented on a plate full of diversion and sleight of hand. Nothing you do with Webforms has anything to do with the web – you let it do the work for you."
Anyways, If you chose to take the blue pill (WebForms), I would begin by watching some of the tutorials on asp.net's website. In particular, I would concentrate on the page lifecycle. Make sure that you know and understand events such as PageInit and PageLoad. Learn about the meaning of a PostBack, your life will depend on it! In addition, spend a little bit of time working with the various controls such as the data grid and the data repeater. Finally, make sure that you are familiar with the concept of a master page. Life without the master page is hell.
If you chose the red pill (MVC), then the Nerd Dinner eBook and source code is all that you really need to get started. The Nerd Dinner source code has recently been undergoing some changes to accommodate the new features in the .NET 4 framework. If you talk to anyone who has done ASP.NET MVC development, they will tell you that Nerd Dinner is the ultimate learning source for quickly getting up to speed with MVC. In addition to Nerd Dinner, here are some tutorials that I wrote regarding MVC:
- Building an RSS Feed in ASP.NET MVC
- Goodbye HTTP Handler, Hello FileResult
- Building a Dashboard with MS Chart Controls
- Phonebook Style Paging in ASP.NET MVC
- Sorting Data in ASP.NET MVC
In case you are wondering, JQuery is not a Microsoft specific technology. However, Microsoft realized the importance of this library early on and took on the task of integrating it into Visual Studio. When it comes to jQuery tutorials, the ultimate resource is jQuery.com. They have a great tutorial section to get you jumpstarted. I have also written a fair amount of jQuery tutorials that will help you on your way:
- Dynamic Select Lists with MVC and JQuery
- Client Side Validation with JQuery
- Generating Dynamic Tables with JQuery
- Ajax the Easy Way with JQuery and MVC
- Using jqGrid with ASP.NET MVC
In the world of programming, it is important to start with a solid foundation first. Concepts like object oriented programming, memory structures and design patterns are universal and will help you no matter what language you decide to adopt. If you have never written any code before than don’t expect too much the first time you try to develop a website. The most important thing is that you remember to have fun and enjoy the ride!