I have been working with Flex since 2.0 beta, and I speak from experience. Here is why I am so ready to move to silverlight. Excuse my tone here but as a dotnet developer Adobe's ignoring of dotnet means, no love lost here, and I am going to tell it like it is...
1. Adobe has completely ignored dotnet, big mistake, and probably will change, but by the time they do the game will be over.
2. Flex has some cool databinding and controls, but go investigate this huge opensource control library. I have been watching it for sometime and am not impressed, check it for yourself, Adobe Exchange.
3. Large control vendors are already getting onboard silverlight. Flex controls on Adobe Exchange seem to be mostly one off, hey I write this cool thing you can use for 30 bucks.
4. Flex files are huge. I understand the reason why they did this, but I spend a lot of time trying to keep simple RIA apps under 1MB.
5. Building modular apps is a pain in Flex Builder, especially if you have used Visual Studio. I hate opening the IDE and actually do most "scripting" for flex in VS using code generation. You really need to spend some time with Flex Builder, at first it looks cool, but when you get beyond the simplest of tasks it bites back, and hard.
6. Exchanging data between Flex and dotnet is not for the faint of heart. I am not talking about simple stuff here, true data management, sync, concurrency, etc.. In flex if you have 10K to spend on weborb or FDS for java and you are only half way there. In silverlight we can now share dotnet business components and leverage WCF, VAB, share sync and validate data in a way that meets the domains needs.
7. In the past I haven’t been the biggest MS Fan, but what they have been doing in the last year is huge. They are truly behind developers and have really changed there strategies. They are listening to developers and reacting so fast that I can hardly keep up and that is a good thing. Read the blogs and the forums and you will see that the developer speak up and the technology comes. I can even see this going on in this new forum, so good work MS and keep it up!
8. At this point this is partially speculation, but I have been watching silverlight grow and this is what I see coming...
8.1 Silverlight becomes a subset of WPF so you can create a rich WPF client and a thin silverlight client using the same code / control base.
8.2 The way dotnet was ported, watch the scottgu channel 9. video, was to use a compatibility layer. This goes beyond just Mac and Win ports and will make Linux, Mobile(not just windows mobile), XBOX, embedded etc... a possibility. They really got this right and this is just the tip of the iceberg. I can see silverlight running in your stereo, your TV, your fridge, your car, your phone :-)
9. I almost forgot, MS is revolutionizing the way that developers and designers work together. This has taken them nearly 5 years, XAML and Managed Code and by itself is reason enough.
So to answer your silverlight VS flex question, just use flex for 6-12 months, then move to silverlight and enjoy using Visual Studio and managed code again. By that time all of the large control vendors will have complete control suites for WPF / Silverlight and I bet that silverlights penetration surpasses flash 9.0 by late 07 or early 08. As many huge portal sites are already getting behind it.
Hope this helps,
Interesting topic. I work for a large video producing news company. We encode video for Windows Media and Flash depending on our syndication client's needs. My opinion is just my opinion and may not be the opinion of the company.
With the above disclaimer stated, a lot of our clients (internal and external) are wanting to produce interactive experiences by integrating video and app code. When evaluating both here are some of the findings/comments:
1. Resources - We have been evaluating Flex and attempting to find additional resources to address the development needs. We have found that the learning curve is very steep and good resources are almost non-existent in our market place. Those that claim to be Flex experts seem to only be a few pages ahead in the manual. I had been evaluating SilverLight aka WPF/E for the last several months and when the execs came back from the Broadcaster's meeting in Vegas they were singing about SilverLight and not Flex/Flash. They quickly realized that our internal C# group could and have produced proof-of-concepts for justification for more research into SilverLight.
2. Video - Big for us.
A. Creating a Flex/Flash video player is very simple. Creating a SilverLight video player is even easier. Both can do easy overlays and produce nice controls. However, we found the video brush in SilverLight with Matrix calculations to be superior and simple to manipulate which caused the creative wheels to begin moving.
B. Codecs/Encoding. This could be one of the biggest for us. FLV (Flash Video Files (latest versions)) uses On2 proprietary format with very steep royalties [Sidebar: One thread mentioned BrightCove - Their client encoder uses On2's client APIs that encodes on the local machine before uploading to server and may cost 5 to 6 digit royalties. A major reason.] We understand that future versions of FLVs will be based on H.264 to hopefully address this very issue. It's current version makes it difficult to justify developing around this platform. The server version of On2 is less expensive but more resource intensive creating another set of issues. We can also leverage C++/C# encoding expertise in-house to produce VC-1/WMVs at higher quality.
C. Resource Intensive. Our own analytics has shown that encoding for Windows Media is less stressful on our infrastucture than encoding FLVs.
D. Full Screen. This is a great feature. The ability to manipulate the canvas without hindering the playback is huge as far as user experience goes.
I could continue but the point is ROI and quality of experience. We have stopped our search (temporarily - hopefully for good) for Flex experts while we continue our evaluation. Our results so far are proving that SilverLight could be a platform of choice moving forward.
[NOTE: Xaml represented its own learning curve but the level of documentation is incredible.]
Thanks,
Topic is side tracked a bit, but anyways.
I am equally loyal to Adobe and Microsoft, been using Adobe and Microsoft products for a long time, and this is what I have to add the argument.
You are bragging about the install base of Flash (98%) just ask yourself if Microsoft had not included Flash player in Windows XP/Windows Vista if you would have had that install base.
Scott announced today that Silverlight plug-in was downloaded on an average of 1.5 Million/Day and he was referring to Silverlight 1.0/Silverlight 1.1. Not many people are interested in Silverlight 1.0 so you haven’t see the tidal wave of Silverlight application on the web yet, the reason that Silverlight 2.0 have go-live licence allows us to deploy meaningful applications., again Silverlight is giving you goose bumps while still in Beta (one day into beta actually) just wait till Summer, and then we will discuss the plugin ubiquity. I say Microsoft should include Silverlight in IE8 they always did include Flash, who would be laughing then?
I have used Flash/Flex and I completely agree that the learning curve is just too steep, they announced programming in C# for Flex/Flash to be migrated to AS3 but I really don’t see it helping the learning curve in anyway, the fault is not just AS3 it the complete platform, and when are you going to go beyond defining objects in OOP? Again Silverlight controls are released as open source, ever heard of open source? Adobe has every line of code patented, or pending.
The only leverage Flex have over Silverlight is the graphic and media engine, I have see some pretty flash sites (my personal best, PlanetInNeed , and http://www.gettheglass.com/ make sure you watch the Messages on Brittlelactica on PlanetInNeed to get what I mean) and I completely agree that Adobe got a higher hand in Imaging and Media compatibility, even in Beta Microsoft didn’t impress me with the imaging and media engine there is a lot left to be desired, but that might change in Final version if not in Beta 2
My verdict - Never touched Flash/Flex after tasting Silverlight and don’t ever want to.
I posted this comment over there, I hope it doesn’t get removed….
I’ve been using Flash for several years, and Silverlight (WPF/e) for as long as it has been around. I am amazed at how people who obviously lack experience in using these tools feel justified in commenting on how one is better than the other, including Mr Arrington.
Silverlight doesn’t even come close to where Flash and Flex is up to, and I will of course justify this. But I don’t blame it, it’s only a 1.1 product. Nor is it as easy or rapid to develop in, and yes realistically you do need to use Visual Studio/Expression and of course Windows to develop in it. I tried using my existing Eclipse + ANT + Subversion workflow, it quite simply doesn’t play fair.
This next comment is not subjective… At present there is nothing offered by Silverlight that Flash doesn’t do equal or better (you can’t exactly count WMV because that’s just the sole supported video format, as is FLV for Flash). This includes alpha video, HD video, data loading, skinning or object oriented programming. Not to mention the install process has crashed most peoples computers that have tried so far, and 1.1 is not even backwards compatible with 1.0 content.
Unlike Flash/Flex it doesn’t do: sound processing, binary data exchange, sockets, per pixel bitmap editing, bitmap filters (convolution, color matrix etc), bitmap effects (drop shadow, blur, glow), frame based animation (i.e. hand made), webcam, microphone, text input, e4x, built in file upload/download, user controls, layout engine, local data storage, linux player, express install (through player), BACKWARDS COMPATIBILITY for 10 years so far! finally 1.1meg footprint… these are just a few features.
So far it’s a valiant effort, but let’s not kid ourselves here. Sometimes the level of not-knowing-anything-outside-the-MSFT-world is jaw-dropping. The video posted in these comments is great, Metaliq are obscenely good at Silverlight/WPF and Flash/Flex, but you can gaurentee they have done much better work using the latter, have a look at their website if you don’t want to wander too far or prefer to be drip-fed.