14

This is not a pure technical question, but I believe answers will help the RIA community.

We are a software development company working on development of a stock trading product. We chose to use Adobe Flex (in mid of 2008) due to its browser penetration and its maturity relative to Silverlight. We already developed the system, and we are quite happy with it.

Now we are planning to launch the second version of our product, and it will feature a much more advanced user interface -- basically a framework of dockable windows and panes as in Visual Studio 2005 and onward, etc. We searched on the internet and found that the market of 3rd party components for Adobe Flex is still very small, but for Microsoft's Silverlight there are many advanced 3rd party components available e.g. data grids, docking frameworks, etc.

When can we expect the same type of components in Adobe Flex? What do experts think if we develop to the new version of Silverlight (Expertise in Adobe Flex vs. Silverlight is not an issue at the moment, assuming we have to develop everything from scratch).

The launch of next version is expected to be in mid 2010. Any feedback regarding this is highly appreciated.

jwezorek
  • 8,592
  • 1
  • 29
  • 46
Khurram Shakir
  • 201
  • 1
  • 3
  • 11

13 Answers13

12

I can tell you from direct experience that Flex is a more productive platform. I work for a large RIA consultancy that builds a large number of apps with both Flex and Silverlight and we see that equivalent functionality in SL takes about 10-20% longer to develop than in Flex. Data binding support in Flex is significantly easier to use than in SL. I can also tell you that a suitably-experienced Flex developer could easily build a MDI toolkit in Flex with a couple of weeks of development time. So I would advise you to consider hiring experienced Flex developers rather than shelling out money for SL components.

SL does have a big advantage in that C# can be used on both the client and server and business logic can be reused in both tiers. This is significant and should not be discounted. ActionScript doesn't have a server-side counterpart and lacks this ability, although Flex does play nicely with a number of different backend technologies, especially Java using BlazeDS. Silverlight services integration has a variety of options on the .NET side (see Bart's comment below) while Flex can use very performant AMF in both RPC and data push (messaging). BlazeDS is free and open source.

I also think basing your decision for a development platform solely off the availability of 3rd party components is not a great idea. Putting that aside, MS platforms have always had a huge number of component development shops and a wide variety of components to choose from. It's likely even with a smaller market share that SL will have a bigger selection of 3rd party components than Flex moving forward.

Finally, I don't think MS is going to be giving up on Silverlight anytime soon. They are aggressively developing new features for SL4 and the Blend tool offers some innovations for designer/developer interactions that even Adobe is struggling to match with their new Catalyst tool.

If you have to make the decision today, I'd say go with Flex, especially for a public-facing application where you don't want to lose users because they can't or won't install the SL plugin. In 12-18 months I'm confident that SL will give Flex a much bigger run for its money but I don't think it's there, yet.

cliff.meyers
  • 17,666
  • 5
  • 51
  • 66
  • 6
    Silverlight is not limited to XML-RPC style services. It works with REST implementations: WCF REST, ADO.NET Data Services or even ASP.NET MVC URLs. It also supports messaging type services with WCF and sockets. I would argue that is where Flash/Flex is severly weak on the service side. Like you mention ActionScript does not have a server equivalent and you need to code in a "real" language. However, it goes further than that. As you elude, you need extra add-ons for enterprise Flex/Flash applications. With Silverlight you have everything in a SINGLE enterprise project solution. – Bart Czernicki Jun 15 '09 at 04:07
  • Updated my post to remove that erroneous information; thanks for the correction. However, I wouldn't exactly call BlazeDS an "add-on"; it's servlet-based technology that adheres to standard Java specs and is furthermore free / open source. – cliff.meyers Jun 15 '09 at 04:36
  • 1
    Bart hit the nail on the head!! FLEX Framework is junky and typical of a Java environment, meaning you must use libraries, hacks, 3rd party tools to get ANYTHING accomplished. Silverlight uses the .NET framework, which has everything you need at your fingertips. I find that FLEX requires me to re-invent the wheel all the time! Oh, you want real date objects? Haha, not in FLEX. Somethings are zero index based while other things in FLEX are 1 index based. Very very hackish. – D3vtr0n Nov 30 '10 at 23:37
  • 3
    BTW, its been over a year now. FLEX hasnt gotten that much better. Silverlight has. I hear many good things about Silverlight these days. Would you still say to use FLEX over SL, just because of rally-support? – D3vtr0n Nov 30 '10 at 23:55
  • @Devtron in an year after your comment silverlight might not even be the primier platform for ms own windows. While flex has both android and ios deployability. You have to admire adobes commitment to the platform :) – basarat Aug 06 '11 at 05:34
5

Although I cannot give you the desired answer, I hope I can give you a couple of good questions and ideas that maybe help you in the process:

City Coder: Flex 3 versus Silverlight 3 in Enterprise development

Microsoft Silverlight vs. Adobe AIR/Flex Debate

I personally think, that Adobe Flash is going to lose a noticeable user base in the near future duo to new features in the upcoming html 5.0 standard. Furthermore I prefer the tools (Visual Studio), addons and languages (C#) over the Adobe equivalents and I would consider these superior. However I have to emphasis that this is only from my perspective.. :)

Nosredna
  • 83,000
  • 15
  • 95
  • 122
merkuro
  • 6,161
  • 2
  • 27
  • 29
  • Thank you for your response. My Question is not directly related to Flex vs Silverlight in terms of technology merits (since for me I am fine with both of them), but in terms of 3rd party support and future browser penetration. Even if today, I found some comparable Docking Framework in Flex, I might choose Flex over Silverlight , purely for its browser penetration factor... – Khurram Shakir Jun 14 '09 at 08:57
  • how does one go about penetrating a browser? – D3vtr0n Aug 16 '10 at 23:11
2

A few people in this thread assume that you can't develop Flex or Flash-based projects with Visual Studio. From 30th August, 2010 that is no longer true. You may want to look at Amethyst which is a VS visual (drag+drop) Flash Platform IDE with a multi-process debugger, IntelliSense and refactoring: http://www.sapphiresteel.com

best wishes

Huw

1

One word (or two) --> "Open-source" The world is going open source. Think android vs apple

How will you run applications for clients on Linux platform with any amount of confidence. Right now I am not a netflix customer because no "Moonlight" support.

I have three computers at home all running Linux (Cannot shellout money to buy Windoze license) !

Think target market (and where it will be in the next few yrs)

Aphtk
  • 11
  • 1
  • 3
    I don't think market share is a great argument against silverlight This link is a great source for market share data for both browsers and OS. Windows is currently 92%, if you can serve 92% of your possible customers faster and cheaper with silverlight the other 8% might not even be worth getting based on development costs. There are better arguments against silverlight. http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=8 – invertedSpear Feb 18 '10 at 17:27
  • 2
    You wont use NETFLIX because of no Moonlight support? What a horrible and unrelated argument. – D3vtr0n Nov 30 '10 at 23:40
1

actually i am also thorn between the 2. in fact, i still considered Flash, but sort of struck that off because thats more for animations rather than RIAs. with Flex, theres AIR to enable deployment in both desktop and web, tho i havent tried it and dunno how easy isit to use. and i also am not sure if Silverlight can be used as a desktop app anyone?

comparing Flex and Silverlight, i dont think we shld just base our judgment on what is more widely used now. Silverlight maybe something good!

just starting exploring the 2 and find Silverlight's XAML markup more intuitive than Flex mxml. further more Silverlight will integrate with C# which is getting better with LINQ and all. so data binding, an important part of any RIA is better. for Flex, one can probably link up with something like PHP with AMF but seems abit harder from what i saw. that said i am not really familiar with both.

UPDATE: and Flex is open source now while Silverlight closed right? so Flex can be said to be cheaper to use.

iceangel89
  • 6,113
  • 8
  • 40
  • 55
  • 2
    Silverlight 3 does run out of browser (i.e. as a desktop app). It's also free to develop with Silverlight using Visual Studio Express Edition, Eclipse or Mono Develop. – James Cadd Jun 15 '09 at 12:10
  • how does "open source" equate to "cheaper"? I must be missing something. FLEX costs $2000 a license. Open source? More like open spaghetti code. Every new version of FLEX breaks the previous versions and requires all types of hacks and fixes. Atleast .NET is backwards compatible and stable enough you can produce enterprise applications in. I feel sorry for anyone who tries to use FLEX as a real world solution. – D3vtr0n Nov 30 '10 at 23:42
1

One thing to consider is Microsoft's dedication to Silverlight. Silverlight is not taking off. How long are they going to stick with it? If the next version of Silverlight doesn't get significant market penetration, is Microsoft going to continue supporting it?

Even if they do stick with it, and even if it does take off, are they going to do like they did with Internet Explorer: develop it into the most awesome browser available at the time with IE6, and then coast for 5+ years and become a major thorn in developers' hides?

Silverlight doesn't have a lot to do with Windows. People using Silverlight does not make Microsoft much money. There's not an especially compelling business case for MS to push Silverlight.

Silverlight doesn't offer anything to the users that Flash doesn't. It's the users that are going to drive Silverlight adoption, and until there's a compelling case for me to install it on my computer (which it's not, incidentally), it's staying off.

Flex is a natural companion to Flash, which is one of Adobe's flagship products. Adobe's not going to drop Flex. Even if they did, it's entirely open-source, and Flex development could quite definitely proceed even if Adobe fell into the ocean tomorrow. (Flash runtime is not open source, unfortunately, but it's a quite good multiplatform implementation of a mostly open SWF standard, with open source implementations progressing)

I work in a .NET/Flash shop. We use Flex to talk to a .NET back-end. It can be a pain in the ass to get them to interoperate (although not impossible). I like .NET. It would be great to be able to develop our front-end in C#. I would love it. But we're not willing to bet the farm on Silverlight, given MS's technology parade.

David
  • 3,177
  • 1
  • 18
  • 15
  • 1
    I've read that on desktops Silverlight penetration is now over 30%. I wouldn't be surprised in Silverlight passed up Java in a year (I've been seeing a lot of computers that don't have Java). I think Microsoft will keep Silverlight going even if it's just as a thorn in the side of Adobe. – Nosredna Jun 14 '09 at 21:28
  • 2
    "Even if they did, it's entirely open-source" ... not really. The development process is closed to outside contributions, and Flex is really just a compiler that produces SWF files. The most important part of this equation, Flash, is not open source, and it will probably never be. "Silverlight doesn't offer anything to the users that Flash doesn't." - There are many things Silverlight offers. Multiple languages, plugable codecs API, .NET libraries reuse and components are designer-friendly (vs Flex). – Alexandru Nedelcu Jun 15 '09 at 05:21
  • OK, but the runtime is good, and multiplatform, and not going anywhere. And those things you list for Silverlight offerings: All but one are only visible to the developer, and I'm pretty sure Flash already supports multiple languages (unless you mean development languages, and then that definitely doesn't directly benefit the user) – David Jun 15 '09 at 14:00
  • "People using Silverlight does not make Microsoft much money." Remember, it is made from tools (Visual Studio/Blend) sold by Microsoft. Its also about making the competition tough for the competitor as said by @Nosredna. – IsmailS Jul 16 '10 at 09:14
  • I think its important to point out that the only reason Adobe even exists in this day in age is because of the US Government intervention of Microsoft with the anti-trust laws. Microsoft very easily would own Adobe if the USA would let them. Adobe is like a roach under Microsoft's shoe. – D3vtr0n Nov 30 '10 at 23:50
  • 1
    Your post is just proving itself to be true in 2011 – basarat Aug 06 '11 at 05:43
1

One of the most important thing in our decision on our future RIA technology is RTL support (specifically Arabic). I am very disappointed to hear that Arabic(RTL) is still not supported in Silverlight 3.0, on the other hand it is now supported on Adobe Flex 4. and I don't want to apply all non-standard tricks again that we used in our existing version of application (which is based on Flex 3). so Now One problem is solved in Flex but still remains in Silverlight... and still no docking framework in Flex, so it is going to be stalemate I guess.. :). I will keep you updated regarding any new findings of our research...

Khurram Shakir
  • 201
  • 1
  • 3
  • 11
0

I have worked a bit with Flex but being more .Net oriented I can't say Flex can get any close to Silverlight in terms of developing business apps. Specially with RIA Services V2 and all the suit of .Net framework and visual studio everything is so integrated and professional.

The only reason I would consider not using Silverlight is if the product has public audience and you are going to loose customers due to low penetration of silverlight.

naiemk
  • 26
  • 1
0

Ther is flex dock : http://code.google.com/p/flexdock/

And there is dock able flex : http://code.google.com/p/dockableflex/

basarat
  • 261,912
  • 58
  • 460
  • 511
0

Flex is more compatible with browsers, as it runs on top of Flash. Silverlight, however, needs to be downloaded, which might be a problem for users behind a proxy or network (in a workplace, for example, you can't install things). Flex also has a better framework than Silverlight, so you can customize a component in a few clicks and keystrokes.

I agree with you that VS and C# are more mature than their Flex counterparts (FB3 and ActionScript, respectively), but you'll get used to it quickly.

Then again, I am a Flex developer, and not a Silverlight developer, so my opinion can be somewhat biased. However, I did choose Flex over Silverlight because I thought that it was more compatible (nearly everyone has Flash Player) and has better support than Silverlight, and I don't regret my decision thus far.

Aethex
  • 1,502
  • 2
  • 16
  • 27
  • 1
    Flash and Silverlight are both broswer plugins that need to be "downloaded," so I'm not sure what you're getting at. It's true that Flash has a higher penetration rate at this time. – Nosredna Jun 14 '09 at 19:20
  • What I mean is that Flash is more common, and is probably already installed on you computer at work (or anywhere). That was bad wording on my part. – Aethex Jun 14 '09 at 20:10
  • My concern is support of 3rd party components in Adobe Flex, like a Windows Docking Framework... In Silverlight so many components already exists but in Flex I still have to see same type of 3rd party support... – Khurram Shakir Jun 15 '09 at 01:43
  • 2
    "Flex also has a better framework than Silverlight" ... having worked with both, I do not agree with this. When you're asserting such a statement, please give examples. – Alexandru Nedelcu Jun 15 '09 at 05:07
  • flash also needs to be installed. I agree flash is old so can be found in more browsers than silverlght. – Shoban Jun 15 '09 at 14:02
  • Flash has been around on browsers much longer than c# or Silverlight. On that platform, it is much more stable and developed. Likewise, .NET beats Adobe AIR when it comes to desktop applications. – Aethex Aug 27 '09 at 15:26
0

If it is a stock trading product, does it stream the stock price in real-time? If it does, the cost of streaming the data will make some difference.

Both of them support some kind of data push (RTMP vs. Socket) and smart polling (RTMPT/RTMPS vs. HttpDuplexPollingChannel).

  • Infrastructural cost: Flex uses LCDS/BlazeDS while Silverlight uses IIS.
  • Development cost: RTMP/RTMPT/RTMPS is already defined (and cannot be changed) while you need to define your own protocol for socket (you need to handle security and compression yourself)

From programming perspective, Silverlight should be better since XAML is drawing the interface and C# updates the state of XAML components. There are plenty of C# developers and Expression Studio to create the XAML components.

MXML is relative simple and you need Flash to draw the fancy UI. You can wait for Flex 4 (in beta) with FXG support, however. Then, it might get better support for third-party components.

Shane Ng
  • 36
  • 4
  • Dear Shan, we have our own properiaty format for data streaming, (streaming is real time) and right now we are using Flex binary Socket to connect with our Streaming Servers. The same format is also using by our Desktop based C# application as well, so data size is not an issue at this moments since that format will be our own nevertheless... – Khurram Shakir Jun 15 '09 at 01:40
  • I think you should wait for Flex 4 for a while then. Otherwise, Silverlight should be the way to go if you need third-party components. Another advantage of Silverlight is that you can port the Silverlight application to an WPF application easily. – Shane Ng Jun 15 '09 at 03:05
  • LCDS or BlazeDS are not required to run FLEX RIA apps. That is not true at all. Sure, if you wanna spend the cash for it, go for it. It's an added layer of FLEX mess to deal with. I run my FLEX RIA app on a Windows 2008 server, in IIS. It's not hard to accomplish. – D3vtr0n Nov 30 '10 at 23:47
0

If you have expertise on both products is hard to say, from my side having an IDE like Visual Studio is a plus (I'm a .net developer), and using the same language on server (services) and client side it's something that makes me feel quite comfortable.

I would say... go for a Proof of Concept, take a week, make two teams (same level approx.), and check in a week (without any formal testing, or formal designing) to progress in Flex and SL (for the third parties they can take advante of all the trial versions). After that week check how far the have gone and their findings.

A waste of time one week? Try to focus as a live wireframe for your final app.

Good luck Braulio

Braulio
  • 1,748
  • 14
  • 23
  • we already have complete full fledged application in Adobe Flex, so we are not new to us, and also a desktop application in C# which is not based on WPF but on windows Forms. so Flex wise , proof of concept is no required, my only concern is 3rd party component support... – Khurram Shakir Jun 15 '09 at 01:41
  • For third parties support, seems that Ms has better partners, I would check component one, telerik, infragistics trials and check if their control fit your needs or give some advantage over the Flex one. – Braulio Jun 17 '09 at 08:38
  • FLEX 3rd party anything sucks. FLEX support in general sucks. If you want third party components AND support, definitely float over to MSDN and Silverlight. Adobe support is the worst Ive ever seen. – D3vtr0n Nov 30 '10 at 23:48
0

I don't think I could speculate on when or if Flex will have a similar number of 3rd party components. Many of the Silverlight components developed by companies like Telerik and DevExpress are ports or updates of existing .NET components. You might want to do a survey of companies that develop components for other Adobe products and ask on their forums if they plan to release a Flex product. Aside from that all I have to go on is what's available today and it sounds like you've already done the research on existing technologies. Good luck!

James Cadd
  • 12,136
  • 30
  • 85
  • 134