So, you are new to
WPF or Silverlight and want to know where to start? It describes my way of learning “How to start with WPF and Silverlight”. I assume that you know
what these technologies are (at a high level), but you do not know
how to use them.
1. Setting up your environment
The first thing you need is Visual Studio 2010. At the time of writing, it was in the RC version, but it is expected to be released very soon [approx. Trans.: Official launch expected in April]. Visual Studio 2010 includes a good XAML editor, which is an order of magnitude better than it was in Visual Studio 2008 (XAML is a markup language that WPF and Silverlight use to describe UI). In addition, if you are targeting
Silverlight 4+, you need VS 2010. By the way, the Visual Studio 2010 shell was completely written in WPF. Of course, you can use the free edition of Visual Studio for developing for Silverlight or WPF.
Expression Blend for beginners may be unnecessary, but over time you may need it if you plan to engage in work related to the user interface or animation. Blend works with both technologies. This is a designer-oriented tool that looks a little different from Visual Studio. I would not install Blend right away, but wait for the moment when you really need it.
You can also look at my
article on the necessary tools for WPF / XNA / Silverlight for the designer and developer to know which tools can also be useful to you.
2. Learn one or more Tutorials.
Various blogs and community sites provide excellent starting information.
Much is available on the start pages. Silverlight page is more modern than WPF. We are working on it.
3. Take a good book.
Some people find it easier to learn something by reading books. If you are one of them, this section is for you.
- My favorite book at the moment is WPF - Windows Presentation Foundation Unleashed. Adam Nathan . To date, the book is a bit outdated, but the concept is still relevant. Adam is working on a version of WPF4.
- You can get an early (electronic) release of my book on Silverlight 4 . This book is for people who have written a fair amount of code, but are not necessarily familiar with Silverlight.
4. Follow these bloggers.
Blogging is the best thing that has appeared in the developer community since usenet. They contain a lot of useful information, as well as a lot of bad. Therefore, I recommend you start with these blogs.
- My blog . In addition to tutorials, I post weekly a list of links to WPF, XNA, Windows Phone and other client technologies.
- Tim Heuer - PM Silverlight.
- Jesse Liberty - PM Silverlight. He publishes tons of great content for newbies. Jesse and I work with Scott Hanselman on the same community team.
- Mike Taulty has a lot of great content about WPF and Silverlight on his blog.
- WynApse, the creator of Silverlight Cream . He publishes daily information about what happened interesting in the world of Silverlight.
5. Join these communities.
After overcoming the stage of formation, you will start to grow faster if you interact with communities.
6. Create a simple start application.
Start with HelloWorld applications similar to the demo. Some people start with a Twitter client, but I do not recommend it unless you are really unaffected by this idea. The reason many people get frustrated with learning new technologies is to choose a very complex initial application. Start small and develop with iterations. You will navigate through control points that will stimulate you and reflect your progress. For example, take a window or page, then place several fields, customize the navigation (if necessary), then take care of connecting to the data source. Refactor the entire path, so you will have something to learn and be proud of.
Practice data binding for your application. Binding is the heart of Silverlight and WPF.
')
Oh yeah, I remembered, just because you are working with WPF / Silverlight does not mean that you need to make the user interface too complicated. Take a look at the differences between Visual Studio 2010 and Visual Studio2008. These are minor differences, not a complete change of appearance.
7. Wash, Rinse Repeat
Develop your application or start a new one. Expand your knowledge with things like styles, patterns, snaps, navigation, and other root concepts.
8. Only after all worry about Patterns and Practices.
You have heard a lot about MVVM / ViewModel, MVP, Inversion of Control, TDD and others. All these things are very interesting to learn, but first - the basics. After learning a new technology, people often delude themselves that they can develop projects at the level of the technology chosen. Remember, despite what you have learned, you are still new to this particular technology.
Know other approaches that helped you to start? Notify me in the comments.
Translator's Note:Original: How to Get Started in WPF or Silverlight: A Learning Path for New DevelopersSpecial thanks to
Sergey Zvezdin for help with the translation.