Unfortunately I’m not at PDC09, but luckily the keynote today was being streamed (I will be on a bandwidth diet for the remainder of the month now) and came with some brilliant news for Silverlight business application developers.
After a laptop giveaway that was very Oprah (everyone gets free multitouch laptops!), the Gu came out (aka Scott Guthrie) for an epic keynote that even included an appearance by Scott Hanselman. The announcement of Silverlight 4 was pretty much expected, but the breadth of new features it will contain pretty much takes away most reasons people will find to use WPF over Silverlight. There was announcement after announcement after announcement – with major new features just receiving a single bullet point on the slides. What has been included in the (expected) 5mb runtime is phenomenal. I’m not going to go into all these features as Tim Heuer has done a fantasic job (as usual) of writing those up, but I will skim over what (in a business sense) I see as being important to business application developers. Obviously the UserVoice site demonstrated its value, with people being able to vote on their most requested features. Apparently 9 of the top 10 voted feature requests have been implemented in Silverlight 4 (although I’m not so sure of that regarding mobile incl. iPhone support). Certainly the ones I voted for and really wanted are now included!
- Printing + Print Preview – everyone wanted that. Will stop the “Silverlight’s not ready for business because it can’t print” crowd (although I wrote up ways around that).
- Commanding! So important for MVVM. MVVM will finally not need (as many?) nasty hacks.
- MEF support! I’m yet to discover this fully though as it was not covered in the keynote.
- Rich text box – great news for displaying and editing documents. I’m yet to find out if/how XPS documents get supported.
- Drop target support – Scott Gu demonstrated dragging a Word document onto a Silverlight application which opened in the Rich text box! Still need to see details of this example as to how it was achieved.
- Web browser control – host any web page (including Flash even!) in your app. So cool for integration and migration possiblities.
- Clipboard support! Demo included copying the contents of an entire datagrid into Excel – very cool.
- IDataErrorInfo for validation. Is this the end of nasty exceptions being raised for validation – I’m still to find out.
- RIA Services – released version to work with the VS2010 beta 2. I still need to investigate the other new features – I’m not sure what they are yet. At least I can now write the RIA Services chapter of my VS2010 book!
- WCF bindings – I believe I heard something about a wider range of bindings now available in WCF? Hopefully wsHttpBinding. I need to investigate.
- Scroll wheel support in all of the controls out of the box (I don’t know why this wasn’t in V3 actually).
- More data bindings (I believe – still to investigate if it’s on par with WPF now).
- Implicit Styling – now themes can be developed without needing the (not so bad) hack that was the ImplicitStyleManager.
- Out of sandbox, including accessing files on the client machine (user profile folders only) which is a big boon for a more streamlined user experience. Also allows apps to be run with elevated trust.
- COM object access, enabling integration with Office applications! Not much good for cross platform support though.
- Right-click / context menu support
- Mention of keyboard support in full screen mode. Security was a big concern for why this wasn’t permitted previously, now available to trusted applications (only).
- Cross-domain calls (for trusted applications only).
- Somebody mentioned custom chrome on Twitter – I think that was a mix up with Google Chrome (the browser) support, as Tim’s blog entry doesn’t mention it and I don’t recall hearing it in the keynote.
As you can see (and this isn’t all the new features – just the ones I’m most interested in!) there are a ton of new features for business application developers in Silverlight 4 – really almost everything we really wanted. I think while there will still be a use for WPF, Silverlight 4 is going to seriously reduce the requirement to use WPF and the full .NET Framework – great for developers that have to/ want to support multiple platforms too. Now we just need the long awaited mobile support – but not mention of that :(. I’m very excited about this release and look forward to having a good play with it so I can report on it in an informed manner. Note that you need VS2010 beta 2 to play with this. Looks like Silverlight 4 development won’t be supported in VS2008. But for Silverlight development VS2010 is much much much better! You can get the beta here.
Disclaimer – this is a preliminary summary – I can’t guaranteee just yet until I’ve played with it all that all the above is correct. Please forgive me if I misreported something…!Interesting stat that Scott Gu mentioned – apparently 45% of internet connected devices now have Silverlight installed. The reach of Silverlight is rapidly expanding – and I’m guessing will even more with the Winter Olympics site in Silverlight (I believe – unfortunately the streaming viewers were not allowed to view that demo) :(.