Beta Man

Silverlight Bridges the Gap

Silverlight will change the game across the board for developers, administrators and users.

Microsoft made a big splash when it introduced Silverlight this past spring, and that's a big change. When it was called Windows Presentation Foundation/ Everywhere (WPF/E) in its earlier incarnation, it didn't resonate with anyone and was kept largely out of sight. Silverlight, on the other hand, is getting lots of attention and rave reviews.

There's a good reason for that. In another year, everyone in the IT world will be neck-deep in Silverlight. Developers will substitute Silverlight projects for new Web and Windows applications. IT pros will install Silverlight runtimes on every Web browser they can find. It will only be a matter of months before the corporate Web site and e-commerce operations start using Silverlight.

Why all the fuss? Silverlight represents a state-of-the-art balance between rich and reach. It's like a rich client in its look and feel, yet its goal is to run on a variety of browsers. The browser interface provides greater reach beyond the traditional Windows PC to other computers and devices capable of running a browser.

Hunting for Silverlight
Here's what it takes to build and run Silverlight applications today. First, start with Visual Studio 2008-yes, the one that is currently in beta 2. You can download all 3GB of the open beta from the Microsoft Web site here. Unlike beta 1, which came as a Virtual PC image running Windows Server 2003, beta 2 is an .ISO image file intended to be written to a DVD.

Then you need to download the developer's kit, which is currently available as an alpha refresh here. This kit includes the browser plug-in, so you won't have to download that separately. Once you install the developer's kit, you can build and run Silverlight applications.

Select a Silverlight project from the list of available projects. Doing so opens a project environment, with a window displaying a XAML code stub. XAML is the tag-based language that defines the look and characteristics of the user interface. It describes the UI, which is then rendered by the underlying WPF engine, so it's often called a declarative language.

Each XAML page description also has a code-behind page. This is where you write the logic to drive UI functions or connect to back-end services. The best thing about this environment is the comprehensive Intellisense provided for selecting classes, attributes and methods. Being able to choose these from a list makes coding much faster and more efficient.

Not All Gravy
Now for the bad news -- there's no integrated visual interface designer for Silverlight in Visual Studio. In a definite break with previous practice, Microsoft has made the visual designer, called Expression Studio (or one of its composite tools like Expression Blend) a separate product.

Furthermore, that product is not a part of the MSDN Professional subscription. Microsoft's rationale is that interface design in the Silverlight world is a job for graphic designers or professional interface designers, not developers. It has positioned Expression as the graphic designer's toolkit on the Web application development team.

Into the Mainstream
Web applications have been crying out for richness. AJAX has taken them part of the way there, and with technology that only requires JavaScript without a browser plug-in. It's unclear whether older AJAX technology can be updated for widespread future use.

Granted, this is another case of Microsoft coming out in a big way with technology already pioneered by someone else (Adobe Systems Inc. with Flex). However, Microsoft has the developer base and market heft to drive it into the mainstream, especially since Silverlight is based on the well-established .NET Framework.

Silverlight itself is still in alpha, and it requires a beta version of Visual Studio, so it's not yet ready for rollout. When it is, though, I don't see anything holding it back.

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.

Featured

comments powered by Disqus

Subscribe on YouTube