Andrej Tozon's blog

In the Attic


First couple of days with Silverlight 2.0 Beta 1

Here's some notes on my first experience with Silverlight 2.0 Beta 1:


Runtime - quick, smooth. Like it's supposed to be.

Tools for Visual Studio 2008 - if running Alpha version of the tools, you'll have to uninstall it first. During the install, the VS2008 DVD might be required. For more info on this and a way around it, see this BradlyB's blog post.


Yeah! Loving it. Hey, there's a cool DataGrid control, and a DatePicker. Given that WPF still hasn't got those (out of the box), which technology would you rather pick for your next cool (demo) app? Silverlight or WPF?

If you've just begun learning these new technologies, I'd for sure recommend Silverlight - you're forced to work with a smaller programming model (a subset of that of WPF), and you're inevitably going to pick up some WCF in the process, if your application involves any kind of (disconnected) data.


With Silverlight's programming model moving closer to what we currently have in WPF, creating animations in Silverlight now feels much more comfortable. No need for creating animations by loading declaration code from Xaml any more; animations and storyboards can now easily be done from code; I'll post some sample code in next posts.


Lots of options here... WCF, HTTP based, JSON, RSS, Atom, ... There's, however, still a few limitations, some of them being: BasicHttpBinding-only for WCF (or no WS-* protocols for Web Services), some types (like XmlElement or XmlNode) can't be used in data contracts.

But... cross-domain service calls are now possible! The dreaded "cross domain call exception" is gone. Well, not entirely true, but if you play nice and/or have control over the service's web site, it's likely you won't bump into that wall again. For all other cases, using server-side proxies still seems like a possible way out.

Also worth noticing is that the managed Downloader class has been removed in favor of the WebClient class, which should offer the same functionality. Similarly, BrowserHttpWebrequest class was replaced with HttpWebRequest class.

Calling services is now asynchronous!


Of course, there's a lot more... Some of the changes will be covered in my next posts on Silverlight 2.0 B1.