You may have noticed that I stopped putting Silverlight 1.1 code out on my blog and stopped talking about 1.1 at local events. I even keynoted the Silverlight FireStarter back in December and barely mentioned 1.1 in the process (I think it rated one slide). There are a few reasons for that:
1. 1.0 code is far more stable. It's not an alpha or even a beta, it's production. Silverlight 1.1 is alpha code - an early "look at what the future holds" type of release. If you are looking to do something on a production system in Silverlight today, you really want to use 1.0 and enjoy what it can do when integrated into your real AJAX-style application. If you want to do Silverlight sometime later this year, you'll want to follow some of the 2.0 guidance below.
2. Pushing 1.1 out to clients is causing confusion and install issues. I see this on Silverlight.net, and that is primarily a developer portal full of bright folks. While 1.1 is great as a way to learn about Silverlight, it shouldn't hit end-user computers; only developers. There have been a few proof-of-concept exceptions to this, but otherwise broadly exposing 1.1 to non-developers is only going to leave a bad taste for Silverlight. Why?
- 1.0 has had bug fixes that the 1.1 alpha has not had.
- 1.1 alpha will not auto-update to 2.0. It's a manual step and likely messier than end users are going to tolerate
3. Silverlight 1.1 alpha is like the concept cars shown at the major auto shows. While they give you a flavor of what is coming, the final product is often quite different (not to mention that concept cars are often plywood and blow-molded plastic <g>) Given what Scott Guthrie (look in the comments too), Tim Sneath, and others have said about Silverlight 2.0, some of the 1.1 code and XAML would likely change in a 2.0 world to provide a more consistent and feature-rich developer and end-user experience. If you do anything complex, you'll probably find yourself removing all sorts of workarounds at the least, or completely rearchitecting your application.
If you want to learn Silverlight today but don't plan to deploy until 2.0 is out, what would I recommend? I recommend a two-pronged approach of learning 1.0 with JavaScript and learning how to write basic WPF XBAPs using features that Scott and others have announced will be in Silverlight. IMHO, this is the best way to prepare yourself for 2.0. Learning 1.0 will get you familiar with how the browser-based Silverlight applications work, and how they fit into larger web pages. Most importantly, you'll be able to write real production-ready code, even if it is just proof of concept. Learning the basics of WPF will prepare you for some of the things that may end up in Silverlight 2.0, as mentioned by Scott and others and will also teach you another valuable RIA platform in the process. It's win-win.
When Silverlight hits beta around MIX (per Tim), then you can switch over to learning 2.0 with all the support a go-live license has attached to it.
That all being said, don't let me discourage you from tinkering with Silverlight 1.1 alpha, just do so with your eyes open, and understand it's temporary. [:D]