Hi, I have been programming with .NET 2.0 version for quite sometime and would like to move onto the latest version to keep up-to-date with latest technology. the latest version seems to have many new concepts like WPF, WCF, LINQ etc. what is the best way to quickly learn the basics of these new technologies without spending months reading big 500/1000 page books? when I was learning ASP.NET 2.0 first time, I found the quickstart tutorial on Microsoft ASP.NET site very useful. it helped me to learn the concepts very quickly without having to spend lot of time reading big books. Are there any similar tutorials or something of that kind for .NET 3.5, with some practical examples (not just theory) to get hands-on experience? Thanks for your help.
I'd start by looking at the new C# 3.0 language features. TBH though the best way to learn is by applying the technology.
Frankly there are tonnes of things to learn that are new in .NET 3.5. There is no easy path!
I found our own Jon Skeet's C# in Depth to be a very clear guide to move from .NET 2.0 to .NET 3.5. So when C# is your language of choice, check it out (or wait a little for the second edition which will also include C# 4)
I found these two books really informative and easy to ramp you up to speed for WPF and WCF 1.Microsoft Applications Code & Markup A guide To The Microsoft Windows Presentation Foundation WPF Petzold 2. Programming WCF Services - Juval Lowy
Especially Juval lowy is awsome
WPF, WCF, WF are actually .NET 3.0, but for clarity it's fair enough to group them along with 3.5.
I think you really need to prioritize what is most important to you or your job. Unfortunately anything considered a quick start cannot possibly effectively cover the huge and deep areas that are WPF, WCF or Linq.
So taking that into account, my approach to learning post 2.0 technologies (in order) was/is:
- LINQ - C# in depth.
- WPF 2D - Pro WPF in .NET
- WPF 3D - 3D Programming for Windows
- Silverlight
- WCF
- ASP.NET MVC
I would advise first looking at LINQ and the changes to C# (or VB) that have been introduced to support it. C# in depth can help you here, it is a great concise book (but not for beginners). There are some fundamental additions to the language that will provide important productivity gains.
For the remaining areas the order really depends on your interests or work requirements. I have an interest in GUI design so WPF 2D and 3D were next on my list. Silverlight then follows on quite well from this.
Some people recommend learning Silverlight before full WPF because it is actually a subset of WPF. I didn't take this approach however it definitely has merit because WPF is such a large framework.
Focusing on Silverlight would let you get over the biggest changes such as XAML and flow like layouts, dependency properites etc. Then you could look at full WPF for the rest.
I then spent some time getting a feel for the fundamentals of WCF, however there is much, much more I could learn.
Finally, ASP.NET MVC is very important to be aware of if you do any web development. I have experience (some bad) in Web Forms so this was very interesting. A key point is that MVC is not replacing web forms, but an alternative.