Beta Man
Silverlight Bridges the Gap
Silverlight will change the game across the board for developers, administrators and users.
- By Peter Varhol
- 10/01/2007
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.