Microsoft has officially entered the space of rich-interactive browser development with a new product called Silverlight. To better understand what Silverlight is you simply need to take a look at Adobe Flash. Silverlight is a CLR-based competitor to Flash. Just like Flash, Silverlight is a cross-platform (Windows and MAC) browser applet that runs WPF and CLR code all in a nice sandboxed environment.

Last month I had the opportunity to attend the Mix 07 conference where Microsoft showed us the light. The Silverlight that is… Microsoft actually showed us two flavors of Silverlight in development.

Silverlight 1.0 (still in beta) uses WPF/E. WPF/E uses JavaScript code to provide its user and developer experience. WPF/E includes a JavaScript-based presentation later that mimics the functionality of Windows Presentation Foundation (WPF).

Silverlight 1.1 (alpha release) is a CLR-based development environment. This environment has a “mini” version of the .NET Framework, a “mini” CLR and “mini” versions of various .NET Framework namespaces. The name “mini” is my own and is not a new definition from Microsoft. This is not a trimmed down version of the .NET Compact Framework but a completely different fork of code tuned to run as a small footprint applet. Namespaces (albeit with limited functionality) included with Silverlight 1.1 include:

  • System.IO
  • System.Net
  • System.Linq
  • System.XML

While these namespaces don't have 100% of their full framework representations they are definitely a good start. I fully expect Microsoft to add more functionality to these namespaces as development proceeds.

Another unique aspect of Silverlight is the concept of “pay for play”. Pay for play give developers the opportunity to incorporate other namespaces not included by the default Silverlight installation. You are no longer stuck using just what Microsoft decided to include. One namespace I am rooting for is System.Data since currently Silverlight has no concept of the data types contained in the System.Data namespace.

Compatibility

Does Silverlight leave you behind and make you upgrade? No. Silverlight shines when it comes to browser and operating system compatibility. Silverlight under Windows (XP and Vista) supports IE6, IE7, Firefox 1.5.0.8 and Firefox 2.0. Silverlight also runs on the Macintosh supporting Firefox 1.5.0.8, Firefox 2.0, and Safari.

Size Matters

When it comes to deploying a Web application, size definitely matters. The Silverlight 1.1 download measures in at a lean and mean 4.5 MB.

Debugging

Debugging in Silverlight rocks! At MIX, Scott Guthrie had a cool demo where he opened his debugger and attached to processes running on a (drum roll please) Macintosh computer that was running his Silverlight applet. The Visual Studio Debugger is now capable of debugging Silverlight applications on Macintosh computers.

Flash Competitor

Silverlight can do for browsers what Visual Basic did for Windows development. Before Visual Basic, developing even the most trivial Windows applications required the skills of a C/C++ Jedi Master. Visual Basic changed developing applications for the Windows platform. Windows development no longer required developers to be Jedi Masters-they were now in range of Padawan learners such as me.

Silverlight promises to do the same thing for creating rich Web-based experiences. Creating rich and highly interactive browser content has been pretty much the sole domain of Adobe Flash for many years. With Silverlight, the Flash monopoly for these types of applications is over. Silverlight will put rich and highly interactive Web content into the hands of millions of developers using Visual Studio .NET.

YouTube Competitor

Another item of interest is the capability of the Silverlight runtimes to stream video. Microsoft showed numerous demos of how you can take your content; encode it, and then play it within your Silverlight applications. Silverlight provides a complete set of tools for encoding and streaming your videos. They also took care of one minor aspect of using video in your applications: hosting. Microsoft offers 4GB of free video hosting on their http://silverlight.live.com/ site. You can sign up for hosting services at http://www.microsoft.com/silverlight/streaming.aspx.

Silverlight Competitors

Don't expect Adobe to just sit back and let Silverlight grab the Flash market. Both Adobe and Sun Microsystems are releasing new products into the rich interactive space. Adobe calls their new entry Apollo while Sun will call their entry JavaFX. I haven't spent any real time looking at these new products but I do know one thing: Competition is good for all developers-especially ones in the Microsoft camp. These competitors guarantee that Silverlight will not go into hibernation like Internet Explorer did for years.

Silverlight Is the Real Deal

I have seen my fair share of technologies and platforms come and go. Silverlight will be a contender. Normally I am very resistant to overhyped technologies. But Silverlight looks like the real deal. Microsoft will push hard into this space and developers will benefit greatly.

You can find more information about Silverlight development at www.silverlight.net.