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 ...
This author has published 9 articles on DotNetSlackers. View other articles or the complete profile here.
|
You might also be interested in the following related blog posts
New article: How to detect and avoid memory and resources leaks in .NET applications
read more
View and print Reporting Services Reports from Silverlight.
read more
Using WCF with SQL Azure and Telerik OpenAccess
read more
Designer v Xaml v Code
read more
Silverlight Audio Player for WordPress
read more
DevReach Follow-up, Part I
read more
Silverlight Synchronicity
read more
What's new in RadControls for Silverlight Q3.2009
read more
Q3 2009 betas available now, Official release soon (update)
read more
RadControls for Silverlight 3 Q3 2009 bringing more richness and interactivity to your applications
read more
|
|
Please login to rate or to leave a comment.