10 Things You Should Know About Silverlight

Computerworld has an article entitled “10 Things you Should Know About Microsoft’s Silverlight“.  I just wanted to add a few notes comparing things to Flex, since the author doesn’t even acknowledge the existence of Flex.

1. Silverlight Avoids Cross-Browser/OS Issues

As long as you don’t count Linux as an OS.  Flex spans Windows, Mac, AND Linux.

2. Silverlight 1.1 Is the Real Story

This is because that’s where you start to get the real .NET language support.  In my experience, though, I’ve found that the CLR’s language support isn’t really the feature it’s cracked up to be.

Yeah it lets you choose between a huge pile of languages – but as soon as you step outside the VB or C# world, you’re pretty much on your own.  One of the things that has made Java as strong as it is is that “Java” is the whole stack, including the runtime and the language.  If you know “Java” you know “Java” and you can work on any “Java” project.  Meanwhile, on .NET C++/CLI developers aren’t going to have a clue how to work with a VB.NET project.

When I started using .NET it was pretty clear C# was the “language of choice”, so that’s the one I learned and I’ve never seen a compelling reason to learn any other.  With Flex, that language is ActionScript.  Does supporting more languages really make a runtime better?

3. Silverlight Uses Technologies Your Developers Already Know

So does Flex (ActionScript is ECMA-262, aka JavaScript).

4. Silverlight UI Is just Markup — Like HTML

Same with Flex.

5. Silverlight and AJAX Technologies Are Complementary

Same with Flex.

6. Silverlight Allows Developers and Designers to Work Together

This is an area where Flex needs some better tooling.  Microsoft did get this part right.

7. Silverlight Deliverables Are Not Atomic

You can choose with Flex whether to bundle things together into a single SWF or to fetch assets on demand.  There are some good reasons to package assets together, like latency, but you still have the flexibility to fetch code modules, images and other data on demand if you choose to.

8. Silverlight Is New

Flex isn’t new – it’s based on a mature runtime – the Flash player – with excellent native code generation and a lot of other rich features.  But maybe this isn’t a point in Silverlight’s favour.

9. Silverlight XAML versus WPF XAML

XAML vs Flex?  They’re pretty similar.

10. Silverlight Is a Great Way to Learn XAML

Flex is a crummy way to learn XAML.  But it’s a great way to learn MXML!