Create cross-platform .NET applications for the browser
Silverlight is a framework for building rich, browser-hosted applications that run on a variety of
operating systems. Silverlight works its magic through a browser plug-in. When you surf to a
web page that includes some Silverlight content, this browser plug-in runs, executes the code,
and renders that content in a specifically designated region of the page. The important part is
that the Silverlight plug-in provides a far richer environment than the traditional blend of
HTML and JavaScript that powers ordinary web pages. Used carefully and artfully, you can
create Silverlight pages that have interactive graphics, use vector animations, and play video
and sound files.
If this all sounds eerily familiar, it’s because the same trick has been tried before. Several
other technologies use a plug-in to stretch the bounds of the browser, including Java, ActiveX,
Shockwave, and (most successfully) Adobe Flash. Although all these alternatives are still in use,
none of them has become the single dominant platform for rich web development. Many of
them suffer from a number of problems, including installation headaches, poor development
tools, and insufficient compatibility with the full range of browsers and operating systems. The
only technology that’s been able to avoid these pitfalls is Flash, which boasts excellent cross-
platform support and widespread adoption. However, Flash has only recently evolved from a
spunky multimedia player into a set of dynamic programming tools. It still offers less than a
modern programming environment like .NET.
That’s where Silverlight fits into the picture. Silverlight aims to combine the raw power and
cross-platform support of Flash with a first-class programming platform that incorporates the
fundamental concepts of .NET. At the moment, Flash has the edge over Silverlight because of its
widespread adoption and its maturity. However, Silverlight boasts a few arch
1