I've watched each ctp, beta, and release of Silverlight with
delight. I wrote a production application in 1.1a and
never looked back. This will be my first Silverlight release as a
Microsoft employee, and I'm happy to say it doesn't disappoint.
Three years ago today, the name "Silverlight" was
officially announced, and the tong-twisting code-name "WPF/E" was
no longer.
As a 'softie and someone close to the WPF and
Silverlight teams, I'm very proud of this release. As a user of
Silverlight, I'm excited to be able to use Silverlight 4 in
production applications beyond just demos, and even more excited to
see you all build cool things with it. As an author, I'm thinking
"holy crap I need to finish this book" ;)
Tim Heuer, as always, has an excellent overview
post for Silverlight 4. Be sure to check it out. Rather than
try and duplicate what Tim has done, I thought I'd take a brief
look back at the history of Silverlight.
Silverlight has come a long way since the early days in late
2006 and early 2007.
Silverlight 1.0
Silverlight 1.0 was great for media and games. Looking back at
it now, it has pretty strong affinity with what HTML5 will shape up
to be. It had a canvas for drawing, supported media, and used
javascript for programming. I have to admit that this release was
interesting to me, but didn't really excite me. I'm just not much
of a javascript guy. Although, I do think jQuery is nice :)
Silveright 1.1 Alpha
Silverlight 1.1 alpha was a proof of concept for a portable CLR,
and was lacking things like textbox and button controls. Back then,
if you wanted a button, you had to create it based on some sample
code. UserControls required manual loading and parsing of XAML, and
there was no .XAP - just loose DLLs and a requirement to make sure
your web server would serve up DLLs rather than try and execute
them. Oh, and you had to have the right mime type for DLL in there
as well. Silverlight 1.1a even had LINQ; my first time ever using
System.Linq was in a Silverlight project.
Silverlight 2
Silverlight 1.1 alpha eventually became Silverlight 2. For many,
Silverlight 2 was the release that really started it all for them.
It had the xap model we know and love, a great CLR implementation,
and a good subset of WPF functionality. This is the version most
folks used to start building serious in-browser applications.
Silverlight 3
Silverlight 3 was a great upgrade to sl2. We added
out-of-browser functionality 3d transforms and more. Pixel shaders,
easing functions, the bitmap API, file dialogs and more.
Silverlight 3 also added the .NET RIA Services preview. Silverlight
3 was a great release, and gave us all the sense that Silverlight
was really maturing as a development platform.
Silverlight 4
For me, Silverlight 4 is the "out of browser" release. While I
know OOB was introduced in Silverlight 3, it really comes into its
own in 4. You can have trusted applications that can read and write
to certain locations on Mac and Windows. You have custom window
chrome for a nice, branded experience. Notification toast is pretty
sweet as well. Of course, on Windows, you also have the
IDispatch/COM API.
That's not to say all the innovation went into out-of-browser.
Nope, we have sweet new features like the dynamic keyword in C#,
webcam and microphone support, better binding and validation, a new
Xaml engine and much much more.
With Silverlight 4 WCF RIA Services has come into its own, and
will be releasing 1.0. I absolutely love the process the team went
through in vetting ideas and concepts with the community. RIA
Services is going to be essential to data-oriented Silverlight
application development.
Silverlight 4 really makes Silverlight a competitive and viable
platform for traditional forms-over-data business applications all
the way through to the richest online and offline apps you can
image. I'm really excited. To get the bits and try out Silverlight 4 yourself,
visit silverlight.net
Silverlight v.Next
Of course, now that we have this version out, you'll want to
start thinking about what you want in the next version. I know you
guys :) So, head over to silverlight.mswish.net and start voting. Or,
maybe wait a couple days and at least let SL4 settle on your dev
workstation first ;)