By Don Burnett
Silverlight Announcements
Today there has been a lot of buzz about Silverlight turning 1.0. No more beta 1.0, no more release candidates, it's officially 1.0..
Over at Silverlight.net there is a lot of buzz, including a "coverflow" style carousel of videos of new Silverlight website experiences. When you mouse over the rotating content you actually can see a "live" thumbnail video of the content.. Very cool custom control..
If you want to see some really cool content you need to go over to WWE.com. The lighting effects on the WWE Silverlight Launch Page are very cool are thanks to the unique video capabilities with things such as alpha channel and the video brush. There is video in the background, not just the player window.
Quoting from Today's Microsoft Press Release:
"REDMOND, Wash. — Sept. 4, 2007 — Microsoft Corp. today released to the Web (RTW) Silverlight™ 1.0, a cross-browser, cross-platform plug-in for delivering richer user experiences on the Web. In addition, Microsoft will work with Novell Inc. to deliver Silverlight support for Linux, called Moonlight, and based on the project started on mono-project.com.
Silverlight significantly reduces development and deployment costs and provides enhanced Web audio and video streaming and playback using industry-leading Windows Media® Technologies. Microsoft unveiled new Silverlight customer experiences on “Entertainment Tonight,” HSN and World Wrestling Entertainment, and also launched the Silverlight Partner Initiative, a program designed to foster collaboration among solution providers, content delivery networks, tools vendors and design agencies."
So it looks like the Linux Silverlight initiative is full steam ahead and has some backing from established industry leaders as well.
Deployment Planning
If you are a developer and you are looking to do a Silverlight project for a client you might be asking these questions.
What does 1.0 Release give you? Can you deploy today?
What's the 1.1 release and should I wait for it?
How long after 1.0 release version will the 1.1 show up? Should I wait for it?
Should I only develop for 1.1?
To answer these questions I am going to steal a few slides from Tim Sneath's wonderful presentatiosn on Silverlight. This should have been also a Microsoft DevCares presentation it's so good. So please check this out..
What does the 1.0 Release give you? Well everything color-coded in white on this slide..
The 1.1 version obviously is planned to have data binding support with LINQ, Web Services (REST, RSS,SOAP), layout controls and DRM support.
It's really obvious when you look through this slide and the rest of the presentation, that 1.1 "Alpha" is just that and not feature complete and that several areas of functionality for 1.1 are still in development. They go further with a ROADMAP slide to spell out when they "believe" the 1.1 version will hit beta along with the other tool sets (Expression Studio, and Visual Studio '08). These are expected time frames, and not official dates.
Silverlight Roadmap
The presentation goes on to say they are shooting for the following layout controls in a later release of 1.1.. (Note since this was posted to Mr. Sneath's public blog by link to his live drive storage, I assume this information is public knowledge..)
Layout Controls: Button, TextBox, Scrollbar, Slider, ListBox, CheckBox, RadioButton, ComboBox, UserControl, Canvas, Grid, StackPanel, ViewBox, UserControl..
Missing in Action: Treeview, RichTextBox, and DataGrid
Other Features planned: Data Binding (through LINQ), improved Mouse events, keyboard events, and the big one for me and most animators the ResourceDictionary. More styling options are mentioned but not further addressed. That actually sounds exciting.
Missing in Action: hardware accelerated 3d. This is very difficult to support in a cross-platform sort of way, because of the diversity of machines with different 3D capabilities.
It does look like we will see improved web services support although POX and JSON are already supported now.
Targeting 1.1
With all of this and the further advantages of the refactored .NET implementation that's inside the Silverlight plug-in, the 1.1 version will have much improvement and is on it's way to becoming it's own "platform" that is machine independent.
1.0 is already "lighting" up the web.. If you can do everything your application requirements say in 1.0 then you should target that release. It's obvious that they will move easily and be compatible with 1.1.
If you need the functionality of 1.1 then you should download the developer release and tools and start your development process and expect release in "early" 08.
With all the things being done in 1.0 if you look around an compare your requirements, you might find that it fits your requirements now and is right what you need.
Other options: if you are an enterprise developer and thinking about wanting to move an enterprise "WinForms" legacy app to a web browser, you now have the option of Netika's GOA WinForms for Silverlight 1.1. It gives you the same capabilities for applications (with added XAML) and makes it easy to port a standard "WinForms" applications to Silverlight today.. Check out their site for further details..
If you don't need cross-platform functionality you might find that a WPF XBAP browser based Windows Application gives you the right amount of functionality, and gives you a lot more bonuses (like hardware accelerated 3D).
MICROSOFT PRESENTATIONS ( Thanks Tim!):
Building Silverlight Applications Using .NET
Silverlight Business Briefing
Rich Web Experiences with Silverlight and JavaScript