What is Silverlight?
Silverlight is a browser plug-in that that extends the web development
experience far beyond the limitations of plain HTML and JavaScript.
Being a Microsoft product, you might expect it to work best (or only) on
Windows and Internet Explorer. So you may be pleasantly surprised to
know that it works equally well on Windows and on the Mac, and it also works
equally well on the Firefox and Safari web browsers. Since Silverlight
is a client side technology, it doesn't matter what backend server software
or platform you're running - even Apache/Linux will do just fine.
Version 1.0
Silverlight version 1.0 - scheduled for release this summer - is very
comparable to Adobe Flash. It delivers high performance multimedia and
animation capabilities that can blend seamlessly with HTML. It's
capable of playing a variety of audio and video file formats, such as MP3,
WMA, and WMV. It handles streaming quite well, so media can start
playing immediately without having to wait for the entire file to download.
Silverlight's user interface is
defined with a subset of
XAML - an XML format shared with
Windows
Presentation Foundation (WPF). This facilitates vector based
animations, a claim that goes beyond Flash's current capabilities.
Silverlight's compiled object model can be navigated via JavaScript for
seamless interaction between embedded Silverlight components and the page
that hosts them.
When users encounter a Silverlight 1.0 enhanced web page for the first time,
they'll be prompted with the quick & easy installation that's only
about a 1.2 megabyte download.
You can download the beta
version of Silverlight 1.0 now.
Version 1.1
While the multimedia and animation capabilities of Silverlight 1.0 are
certainly great for graphic designers, Silverlight version 1.1 (currently in alpha) starts to provide the kind of business oriented functionality that
the majority of web developers need.
Probably the most exciting feature of version 1.1 is the built-in cross
platform subset of the .NET Framework. While you can still mix in as
much (or as little) JavaScript as you'd like, you'll now have the option of
running your own fully compiled .NET code within IE, Firefox, or Safari.
Those developers who hate JavaScript should be thrilled to know they can now
write their client side code in C#, VB.NET, or any other .NET language.
This .NET code can interact with the browser's object model so it can
manipulate the page's HTML in addition to interacting with any Silverlight
user interface that may be embedded in the page. You'll now be able to
replace slow performing JavaScript code with fully compiled .NET code that
could easily execute hundreds of times faster.
A variety of useful classes are included in Silverlight 1.1 for working with
cutting edge technologies like
LINQ, generics, multithreading, and invocation of
Windows Communication Foundation (WCF) web services. There's also
support for XML manipulation, networking, I/O, collections, globalization,
and JSON serialization.
ASP.NET support is also provided for things like personalization, profiles,
role membership, and invocation of ASMX web services. On a related
note, the next release of ASP.NET is expected to include a variety of tools
for easing Silverlight development, including built-in controls that make it
easy to embed Silverlight content.
Unfortunately there are currently no definite plans to include any
significant number of controls in Silverlight 1.1 - not even a basic button
control is currently in the mix. They do at least provide a control
class that can be used to build your own controls, and alternately it's not
terribly difficult to make basic controls using XAML and some custom code -
but certainly we'd prefer not to have to write such basic code.
Luckily there are
several controls available in the separate
Silverlight 1.1 Alpha SDK download.
Since Silverlight 1.1 is still only in alpha, its uncertain exactly what
other functionality may ultimately make it into the release version.
The current download size for this far more functional version of
Silverlight hovers at around 4MB.
Future Versions
From my conversations with Silverlight mastermind
Scott Guthrie and
his merry band of genius underlings, they've got a lot of mouthwatering
functionality planned for upcoming versions of Silverlight. General
themes include a rich set of built-in controls, data binding support, XLINQ,
RSS, Xml Serialization, Opera support, and improved layout management.
And that's just for starters.
In general the vision is to transform Silverlight from its current 1.0
state of multimedia powerhouse into a highly productive business tool
capable of powering rich applications of virtually every kind.
Even with all this extra functionality, Silverlight's team has a long term
secret goal of keeping the download size under 5MB. Shhhh! Don't
tell anybody!
Development Tools
Currently the lack of polished tools for developing Silverlight
applications is its biggest hindrance. The next version of Visual
Studio (codenamed
Orcas) is expected to ship with rich Silverlight support. However,
the current beta version of Orcas clearly still needs a lot of work before
achieving this goal. If you're brave enough to be tinkering with the
Orcas beta then you might as well
download the Silverlight Tools Alpha add-on to try out its Silverlight
development capabilities.
Microsoft's new Expression suite of products is currently closer to being in
a finished state. They are presently more polished and less buggy than
Orcas. Specifically,
Expression Blend is probably the most valuable Expression product for
Silverlight development. However, be forewarned that the Expression
suite is intended more for graphic designers than software developers.
Therefore Visual Studio-oriented developers should expect a significant
learning curve.
Summary
Silverlight is a brilliant idea that still has a
ways to go before it reaches its potential. Nevertheless, it should
definitely be on every web developer's radar. It's a distinct
possibility that Silverlight could be the future of web
development. Imagine a world where web developers no longer deal with
HTML, and instead write rich, compiled .NET code that runs everywhere as
ubiquitously as HTML does now. If Microsoft plays its cards right,
this will happen.
References
About Steve Orr
 |
Steve C. Orr is an ASP Insider, MCSD, Certified ScrumMaster, Microsoft MVP in ASP.NET, and author of the book “Beginning ASP.NET 2.0 AJAX” by Wrox press. He’s been developing software solutions for leading companies in the Seattle area for more than a decade. When he’s not busy designing software ...
View complete profile
|
Top Articles in this category
WPF Tutorial
With all the new technology that Microsoft is releasing, it's hard to keep up. WPF is one such technology. It is a completely different metaphor for user interface construction than previous frameworks. This article is intended to give a general overview of the key concepts and innovations of WPF, hopefully educating readers enough to make intelligent UI technology decisions and smooth the learning curve for those beginning to work with this framework.
Silverlight "WPF/E" first steps: Getting started with simple analog clock
This article is an introductory article on how to build a WPF/E simple web application that represents an analog clock.
Introduction to XAML Part 1
You are coding in .NET and have basic knowledge of XML. You heard about that Windows Presentation Foundation (a.k.a WPF) and everyone says it’s so cool. Now you want to know more, so let’s get started!
Hello Silverlight : Start your Silverlight journey today!
Start your Silverlight development journey today with this step-by-step article.
Animation in-depth with Silverlight 2.0 Beta – Part One
In-Depth analysis of animation with Silverlight 2.0 Beta.
|
|
Please login to rate or to leave a comment.