How to start programming using WPF or Silverlight: A Learning Path for Beginners

Original author: Pete Brown
  • Transfer
So, are you new to WPF or Silverlight and want to know where to start? Here is my way of learning “Getting Started with WPF and Silverlight”. I assume that you know what these technologies are (at a high level), but do not know how to use them.

1. Setting up your environment


First of all, you need Visual Studio 2010. At the time of writing, it was in the RC version, but a release is expected very soon [approx. Lane: An official launch is 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 the markup language used by WPF and Silverlight to describe the UI). In addition, if you focus on Silverlight 4+, you need VS 2010. By the way, Visual Studio 2010 was completely written in WPF. Of course, you can use the free edition of Visual Studio for development for Silverlight or WPF.
Expression blendfor beginners it may be redundant, but over time you may need it if you plan to do 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 it is really needed.
You can also see my article on the necessary WPF / XNA / Silverlight tools for the designer and developer to know which tools might also be useful to you.

2. Learn one or more Tutorials.


Various blogs and community sites provide great start-up information.

Much is available on the start pages. The 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 WPF book right now is Windows Presentation Foundation Unleashed. Adam Nathan . To date, the book is a little outdated, but the concept is still relevant. Adam is working on a version of WPF4.
  • You can get an early (electronic) release of  my Silverlight 4 book . 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 information. Therefore, I recommend you start with these blogs.
  • My blog . In addition to the tutorials, I weekly post 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 beginners. Jesse and I work with Scott Hanselman on the same community team.
  • Mike Taulty has tons of great WPF and Silverlight content on his blog.
  • WynApse, creator of Silverlight Cream . It daily publishes information about what happened in the interesting world of Silverlight.

5. Join these communities.


After overcoming the stage of formation, you will begin to grow faster if you interact with communities.

6. Create a simple start-up application


Start with the HelloWorld applications similar in the demo. Some start with a twitter client, but I do not recommend it unless you are really exposed to this idea. The reason many people are disappointed in learning new technologies is to choose a very complex initial application. Start small and develop iterations. You will navigate through the control points that will stimulate you and reflect your progress. For an example, take a window or page, then place some fields, configure navigation (if necessary), then take care of connecting to a data source. Refactor the entire distance traveled, 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 yes, I remember, just because you work 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 in appearance.

7. Wash, Rinse Repeat


Develop your application or start a new one. Extend your knowledge with things like styles, patterns, snapping, 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 of these things are very interesting to learn, but first, the basics. After learning new technology, people are often mistaken that they can develop projects at the level of the chosen technology. Remember, even though you have learned, you are still new to this particular technology.

Do you know other approaches that helped you at the start? Let me know in the comments.

Translator's Note:
Original: How to Get Started in WPF or Silverlight: A Learning Path for New Developers Special
thanks to Sergey Zvezdin for help with the translation.

Also popular now: