In my post on desktop and web convergence I said I would spend some time on each of the technologies I mentioned, so here we go. I will start out with Silverlight only because for the past 2 years I have been immersed in c# and smart clients so it was a pretty simple jump. Don't expect that after reading this post you will be an expert in Silverlight as I have only scratched the surface. I figure the best way to start is to list the pros and cons; here are some things I think fall into the pro category:
This is often time a con for newer technologies but for Silverlight this is a pro, it's integrated into Visual Studio 2008 it has a separate design environment of its own (Expression Studio). Studio is truly for the designer and allows for UI driven creation of animations and overall user experience. Having great IDE's for both the designer and the developer is a big plus.
Platform and browser support:
Silverlight supports many platforms and browsers. This is different than one might expect from Microsoft but Silverlight supports IE, Safari, and Mozilla and will run on both Window and the Mac. Plus there is now support for a growing list of mobile devices.
User Experience Support:
Silverlight has a wide variety of features that support a rich user experience, this combined with the power of Expression Studio make for crisp UI's. Features include; media support, panel and canvas support, animations with timelines, AJAX support, etc.
Here are some things that I considered cons:
Limited .Net Framework:
This one can go either way but for me it is a con. Silverlight comes with a limited set of the .Net framework assemblies (to keep the client install small) and for developers that are used to desktop development this will be difficult. For others new to the .Net world they this will not be a con.
Separate IDE's for Design and Development:
I am always looking for that one IDE that does it all and I tend to cross the line between designer and developer so switching in and out id Visual Studio and Expression Blend was not so smooth. I wish they would just stuff Blend into Visual Studio but I am sure many disagree on this.
Keep in mind that Silverlight 2.0 is currently in beta and like any other beta software you should use and install with care. Here are some cool Silverlight samples.