My company develops several types of applications. A lot of our business comes from doing multimedia-type apps, typically done in Flash. However, now that side of the hous
I think Silverlight is most advantageous for companies that have .NET developers but noone with designer experience.
Skill sets will be easier to find as far as finding C# or VB developers vs finding ActionScript guru's. However there is the trade off:
Design experience is an investment not only in Designers with artistic skill, but also in the knowledge and tools provided by Adobe. You can nearly guarantee that a professional designer uses a mac and has experience with Adobe tools.
Right now the Silverlight designer tools are half baked and can be a headache. For instance Blend errors when trying to render any xaml containing an IValueConverter, this is problematic. I have no idea what the Adobe developer experience is, I'm sure it is as hairy.
So at this stage of the game it comes down to human resources:
If you have .NET experience and little invested in Design skills go Silverlight. Programming skills/tools will be transferable. If you have Design experience and skill set go with Flex. Designer skills/tools will be transferable.
Either way both client platforms require communication with services to get data, so you will always leverage your existing programing expertise on the back end.
Paraphrased Jon's opinion from a different point of view:
I think you should look at Flex as a long-term play, just as Adobe seems to be doing. There's an obvious balance on when to use Silverlight vs. Flex when you're concerned about reach and install base, but here are more reasons Flex is a good direction to move in:
Second mover advantage - Just as Adobe built a "better Java Applet" with Flash, they're able to look at how you'd design a runtime from scratch, today. They have the advantage of knowing how people use the web today, something the inventors of existing client platforms could never have accurately guessed. .NET can add features, but they can't realistically chuck the platform and start over.
Designer familiarity - While Flex/AIR is a new programing model, it's not entirely unfamiliar to designers. They'll "get" the way Flex works a lot more quickly than they'll understand firing up a new design environment with new feature poor tools and new animation paradigms.
Being rid of the RGB color model in Silverlight- .NET was originally built for windows and it is at the core of how it works. Flex ditched a long time ago for an design-centric model.
All your tools run on your mac. Nuff said.
Cool features - Silverlight still has some catching up to do with Flash on some obvious features (like webcam / mic integration, or 3d / graphics acceleration).