Some minor Silverlight assumptions/queries.

It’s been an interesting couple of days for me, as I’ve meet some developers in both business meeting setting and via social setting (aka WebJam).

In my chats with these developers, they all seem very keen to learn more about Silverlight but have hesitations on it that range from “Isn’t it bleeding edge?” to “It looks good but I’m not a .NET developer”.

  • I’m not a .NET developer, so I guess Silverlight isn’t for me.
    Wrong, it can be, you can use Silverlight with HTML as if you would with Flash and HTML. Having zero .NET experience won’t hamper you in anyway from building applications in future with Silverlight. You can do a lot with Silverlight today + HTML + AJAX. Microsoft wasn’t kidding around with it being a natural progression from AJAX To the next step. You can control the entire Silverlight SDK from JavaScript (no .NET assembly required). So “Silverlight bots, transform and roll out!
  • What does Silverlight do differently to Flash
    Lots, none and some. Wrong question, what does Silverlight do for you going forward and if you are a .NET developer it compliments your skill set (removing the need to learn new tooling & languages together. Expression Studio isn’t that bad of an effort to be honest, as it took me 2 days of playing and I got it).

    If you are a budding Flash Developer and are looking for a reason to take it on as an extra piece to your portfolio, do so with that in mind. It’s another hammer for your tool kit, another piece of clay to sculpt with and so on. It approaches things differently to Adobe Flash, but that is because the roadmap beyond its release has different visions of where RIA is likely to go thus Microsoft’s approach. Rich Web, Rich Client & Rich Device is your mantra.
  • How do I combine ASP.NET AJAX with Silverlight then?
    That’s easy, you create a Project Solution in Visual Studio Orcas, you nominate ASP.NET Futures (with AJAX Toolkit installed) as your chosen template. You then create a Silverlight Project within the same solution.

    Now comes the really hard part.

    You then right click on the ASP.NET AJAX Futures project and hit the “Add Silverlight Link” to this project.

    Congratulations you’ve just linked the two projects together and every time you make changes to your Silverlight project, it will reflect into your ASP.NET AJAX Futures project. “Look mah, no hands”.
  • What would you tell me that’s cool about Silverlight?
    Honestly, so far I’ve found (even after today) the Brush Fills to be the sexiest thing in this round of releases. I like it for it’s simplicity and allow me to demonstrate
  • <Rectangle>
    		<Image Source="myimage.jpg"/>

I’ll post more of these leading up to ReMIX as it amazes me some of the questions being asked (hey you don’t know what you don’t know, no harm, no foul) and if these are all that are stopping folks from having a go, then consider it greenlight time hehe.

Comments (2)

  1. Hey Scott, I’m curious…how does Silverlight work with HTML? Do you mean, more so, Javascript? If not, what does it do for/with HTML? (haven’t heard anything about it) I ask because you put Flash + HTML which Flash does nothing with HTML but does with JS.

    Other than that, good list and I agree. Well, curious why you say Web, Client, and Device is different than Flash (Flash, Apollo, Flash Lite; respective order) but the rest is spot on.

    Oh, what is the goodness of the brush? I’ve seen them applied to videos, etc but it would be good to see what that example does or why it is so sexy.

    Good post.

  2. Garry Trinder says:

    Silverlight works with HTML like JavaScript works with HTML (in the instance of using JS as your base for Silverlight).

    Think of HTML with extensions and you have Silverlight, where you control elements within the XAML DOM similiar if not likewise you do with HTML today, my accessing properties on the elements and getting elements within the dom via method invocations.


    document.getElementById(‘myElement’) would return a HTML element that had the id myElement?

    control = document.getElementById(‘SilverlightControl’);


    would return a HTML element that had the Name property "myXAMLElement" and so on. Very similiar in approach but using JavaScript as a commonality between the two.

    Doing this with Flash is different approach, you could use the ExternalInterface API to request pieces of the Framework heirachy but that would require some kind of home-made brokerClass to handle this on your behalf (inside of Flash/Flex).

    As for Adobe? their roadmap is different to Microsofts in terms of the Flash eco-system. Microsoft is simply about providing XAML/C# for example as being the two pieces up and down the device/web/client stack for both SERVER-SIDE and CLIENT-SIDE (you don’t have to use .NET of course). There is strong focus on Tooling to provide access to these two realms (if that is a correct word to use) and developers can focus their energy on framework API calls vs language differences between each individual piece. There are subset issues around going from WPF to Silverlight for example (today) but that could change tommorow as innovation continues.

    Flash Lite vs Flash 9 is marginally different. Apollo is an extension of Flex per say, but getting Apollo to talk to nominated server-side is going to be interesting if you’re a .NET developer for example.

    The brushes are great simply because you can bind an entire composite XAML heriachy as being "Fill" and it will fill the entire "rectangle" or "masked shape" of your choice with this. You can do this within Flash for example, but you have to either take a Bitmap snapshot of the GUI itself and fill it somehow with this (tricky when you want to do Glass blur for example).

    Or you duplicate, in which case memory / performance becomes an issue.

    Scott Barnes.