I’ve spent today going through all of the Hands-On-Labs provided on the silverlight.net site. The five labs are basically word documents, with some accompanying resources, covering various aspects of Silverlight 2 development. More importantly, they are extremely well written, and serve as the missing book for learning Silverlight. Should anyone ask you for a tech book recommendation for learning Silverlight 2 beta 1, you should definitely, emphatically, point them to these labs. They are both comprehensive and lucid. These labs are supposed to take an hour to an hour and a half each, so all tolled, it constitutes approximately seven hours of work.
1. Silverlight Fundamentals is a great overview of the features of Silverlight and how everything fits together. Even though it covers a lot of territory you may have come across in other material, it does it in a streamlined manner. In reading it, I was able to make a lot of connections that hadn’t occurred to me before. It is your basic introductory chapter.
2. Silverlight Networking and Data demonstrates various ways to get a Silverlight application to communicate with resources outside of itself using the WebClient and WebRequest classes. I couldn’t get the WebRequest project to work, but this may very well be my fault rather than the fault of the lab author. The lab also includes samples of connecting to RSS feeds, working with WCF and, interestingly, one exercise involving ADO.NET Data Services, a feature of the ASP.NET Extensions Preview.
3. Building Reusable Controls in Silverlight provides the best walkthrough I’ve seen not only of working with Silverlight User Controls but also with working between a Silverlight project and Microsoft Blend. This is also the only place I’ve found that gives the very helpful tidbit of information concerning adding a namespace declaration for the current namespace in your XAML page. I’m not sure why we have to do this, since in C# and VB a class is always aware of its namespace, and the XAML page is really just a partial class after compilation, after all — but there you are.
5. Silverlight and Dynamic Animations begins with "This is a simple lawn mowing simulation…." The sentence brims with dramatic potential. Unlike the previous lab, the resources in Silverlight and Dynamic Animations include both a "before" and an "after" project, and it basically walks the user through using a "storyboard" to create an animation — and potentially a game. It’s Silverlight chic.
In retrospect, if I had to choose only one resource from which to learn Silverlight 2, it would be these labs. They’re clear, they’re complete, and best of all they’re free.