Most Web developers know better than judging a Microsoft product by its first iteration. For this reason, I was intrigued by the recent beta release of Silverlight 2.0.

Silverlight provides a platform for Rich Internet Applications (RIAs) to build dynamic user interfaces that are platform and browser agnostic. It competes in the same space as technologies such as Adobe Flash and OpenLaszlo. Here’s a quick overview of what you’ll find in the latest version of Silverlight.

A new architecture

In terms of development, Silverlight 2.0 is a major shift from its first iteration. While Silverlight applications still execute in a plug-in that runs in all major browsers, the behind-the-scenes programming model is more reliant on .NET technologies, with Windows Presentation Foundation (WPF) being a major component. This pushes Silverlight 2.0 development more in the direction of Adobe Flex, which relies on programming via the Flex SDK.

Windows Presentation Foundation

WPF is the .NET graphical subsystem introduced in version 3.0 of the .NET Framework. The version included with Silverlight 2.0 is a Web-based subset. It is provided via a scaled down version of the .NET Framework’s Common Language Runtime (CLR) included in Silverlight 2.0, and it supports Windows, Macintosh, and Linux platforms. Multiple instances of the CLR may run within a single process, so running in a browser will not be a problem.

The inclusion of the CLR means Silverlight 2.0 applications may be built via any .NET language such as VB.NET and C# as well as JavaScript. The CLR is scaled down, so not all namespaces and classes available in the base .NET Framework will be available for Silverlight development. This includes a set of extensible controls, networking components, XML Web services, LINQ, and more.

WPF includes its own programming model, which allows you to build user interfaces with shapes, documents, animation, and media objects. With the integration of WPF, Silverlight 2.0 includes more than 20 controls that you may use to build the user interface. These allow you to display data, as well as accept user input and control the layout of other controls. In addition, data binding, skinning, and template support is available.

It is worth noting that Silverlight 2.0 development may still be tackled via the approach offered in the first version via XAML and JavaScript. XAML is still a Microsoft technology, but it is an XML derivative. In fact, XAML is used to create WPF user interfaces, so you can choose to interact with the user interface objects and data via a .NET language or JavaScript.

Development tools

At the core, Silverlight 2.0 applications may be built using your favorite text or XML editor. This allows you to build the XAML from scratch. Further up the development chain is the use of more robust development tools. Two Microsoft development tools, Visual Studio and Expression Studio, provide alternatives with the goal of simplifying development.

The Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2 makes the many Silverlight controls available for user interface design. You can easily drag and drop the controls on a .NET Web form to use Silverlight functionality.

A beta version of Expression Studio 2 was recently made available. It is designed to work seamlessly with Visual Studio. Designers would use Expression Studio 2 to build the interface, while developers use Visual Studio for the backend code. This promotes the collaboration of the two teams during development.

There is loads of information available on the Web for tackling Silverlight development. I recommend checking out Essential Silverlight 2 Up-to-Date by Christian Wenz, which includes plenty of information on the early release and provides updated information in a timely fashion via the O’Reilly Web site.

Will Silverlight catch on?

As you can see from the features available in Silverlight 2.0 with the inclusion of .NET programming, Silverlight is now a more robust platform for delivering full-featured applications. This is in stark contrast to the previous version, where user interfaces were built with JavaScript and XAML. Version 2.0 includes a robust programming model that developers can use to deliver full-fledged applications in addition to slick user interfaces. Microsoft is pushing another paradigm for delivering applications with Silverlight.

While Silverlight is a great platform for .NET developers, I don’t think it will get much traction outside of this realm, especially given Adobe’s established presence with Flash. And given the shift to a more Microsoft-centric programming model, it remains to be seen whether non-Microsoft developers will embrace Silverlight to build and deliver Web applications.

Accessibility may be another sticking point. The first release of Silverlight offered very little in terms of delivering accessible user interfaces, so it remains to be see what the latest version will offer. With these types of technologies, it is better to provide an alternative user interface for users with disabilities.

Have you worked with the current beta or previous version of Silverlight? Do you plan on using it in future projects? Share your thoughts with the Web Development community.

Recent news stories about Silverlight

Tony Patton began his professional career as an application developer earning Java, VB, Lotus, and XML certifications to bolster his knowledge.


Get weekly development tips in your inbox
Keep your developer skills sharp by signing up for TechRepublic’s free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!