We previously approached this argument from 2 sides: .NET developer and Flash developer. However, maybe that's not the most appropriate perspective on this issue.
I recently came across this discussion (started back in May 2007 but still active as of a week ago) at the Silverlight.net forums. What interested me right away was that the initial poster is a .NET developer. He was asking the Silverlight community for reasons to use Silverlight instead of Flex and specifically looking for "concrete value-add" after he was come up dry of reasons himself. Unfortunately, it largely turned into a flame war after Ted piped up and stated the facts about the Flex side. In the end, I'm not sure much was gained in terms of the initial question (feel free to read it as there are some interesting points made), but it did reinforce something in my mind.
Ever since MS released Silverlight, most of the discussion around Silverlight and Flash has been related to which is the better technology and whether one will win out at the demise of the other. Unfortunately, the argument has revolved largely around programming languages and runtimes and development environments rather than the real issue at hand...ROI for the client.
When we distill it down to the basics of why we do what we do, it all comes down to ROI. After all, that's the reason why we all have projects to work on isn't it? The client is willing to pay money for something that will benefit their company. Breaking that down further, I see 2 basic factors (related to developers like us) affecting ROI:
1. User experience & brand awareness
Obviously, we're all trying to build things in such a way that the user will have a positive experience. The type of experience may vary depending on the goal of the project. For example, an online hotel booking system needs to allow a potential customer to quickly find rooms available for specific dates, with specific parameters, and then follow through with the booking and payment. A microsite for a car manufacturer needs to allow the customer to experience the car and entice them to become emotionally involved with it through the senses. All the while, UI controls need to be intuitive and work like the user expects them to. These are things we strive for as developers.
To that end, if a technology supports a greater feature set, there may be more options to the client in terms of building that experience. For example, being able to adjust bitmap color would allow customizing a product's color. Support for 3D would allow the user to interact with the "virtual" product similar to the way they would the physical product. Integration of rich charting components allows interesting ways for users to visualize data. However, this has nothing to do with AS vs. C# or FlexBuilder vs. Visual Studio. Those distinctions mean nothing to the end user. Also, just because a technology supports more features doesn't necessarily mean they are the *right* features for the project.
In the end, the goal is generally to make a sale or make the user more aware of a brand in a positive way, which may result in a sale (or something intangible like the influence over choices that a user makes) in the future . If the user has a good experience while using the app you've built, regardless of Flash or Silverlight, you've done your part.
2. Development process
This is the piece where we get a lot of passionate discussion about how one technology is better than the other. MS developers are very passionate about their tools, languages and processes. I think Flash & Flex developers are as well, though maybe not to the same degree. But again, let's not lose our focus. For someone to hail their technology as king because it uses a specific language is meaningless. What's important is the ability for a developer to utilize that technology to build what they need to build quickly and intelligently (simplified yes, but that's the general goal).
The key here is efficiency of the development process. In the end, that's what affects the client's bottom line. To make a blanket statement that Visual Studio and C# is better than FlexBuilder and AS doesn't make sense (nor does the opposite argument). However, if you have a team of developers who have honed their process in a given platform, then it would make sense to build using that platform. That's why it does make sense for .NET developers to jump into Silverlight. But to say that Silverlight is better than Flash just because it implements a subset of the .NET framework is again a misguided response. To reiterate, what is the value-add for the client in that statement?
Conclusion
So where does this leave us? Unfortunately, I think the question of whether one technology is better than the other will continue to live on despite the fact that it's not really the right question. Don't get me wrong...I'm a Flash developer at heart and probably will be for a long time, and am passionate about it as most of you are. However, instead of wasting our energies bickering with the "other side", let's use that passion to build better "stuff" and push Adobe and MS to continue developing the tools we need to do that.
What it boils down to for me is this:
YouTube, and it's dozens of competitors/collaborators use Flash/Flex. They're not going away, and it's unlikely that they'll change their default runtime anytime soon. Flash will have a continued large install base for at least the next 3-4 years.
Flash is multiplatform. It runs on Windows, Mac, and Linux equally well. Silverlight is *theoretically* multiplatform, but I haven't been able to get a Moonlight release to work yet, though I've tried several times. It's just not mature (and not 1.0)
Flash delivers compiled binaries (swf) that run on a VM. Silverlight delivers raw text XML and JavaScript, that run interpreted. Yes, Silverlight 1.1 err, 2.0 will fix that, when it's released in March 2007, err, August 2007, err, April 2008, err, Fall 2008. But until that happens, the perceived speed advantage to end users goes strongly to Flash/Flex.
The value of streaming HD Video can be argued until kingdom come, but the reality of the matter is that most internet users don't (currently) care about streaming HD. The network speeds and hardware for connecting your internet to your TV just aren't there yet. The Xbox360 comes very close, but it's not quite there yet.
Besides, judging a general purpose application development platform on how well it streams video is a bit ridiculous in my opinion.
my computer will not take the silverlight it wont up grade it at allm i dont know why either m what can i do. i need help
my computer will not take the silverlight it wont up grade it at allm i dont know why either m what can i do. i need help
Silverlight doesn't support blend modes like screen/multiply etc in expression blend.
No alapha video in silverlight, how pre 2001.
You can't bring a video into the timeline to combine with other animations. That knocks out the ability to develop 75% of the coolest flash sites.
Silverlight has a long way to go to catch up with flash from a final output perspective.
But the expresion blend editor itself is excellent, from the After Effects like auto tweening to how easy it is to find specific layers/display object instances is much better in Silverlight. I think any animator could switch over and be very surprised at how good the interface. But the features that experienced animators use aren't there, but they've been in flash for years already.
Flash runs horribly slower than Silverlight now, especially when viewing SD & HD videos. I find myself watching Netflix online more than Hulu and YouTube now because of quality. I hope one day sites like Hulu and YouTube will offer an option to use a Flash or Silverlight player (so I can uninstall Flash for good).
Silverlight is hands down better than Flash.
I have several Mac/Apple computers and as of 2009, they ALL run Silverlight perfectly and it means that Netflix is simply awesome and runs circles around Hulu for movie streaming.
Many comments here are too old to count anymore- 2009 saw complete upgrade of Silverlight and now it shows great performance wherever I have personally used it.
Flash needs to do something about its streaming quality to remain competitive.