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.
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.
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?
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
- Silverlight: Getting ready for its Olympics closeup
- Microsoft lands Democratic National Convention, ties Google in convention race
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!
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.