views:

4473

answers:

11

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

We are a software development company, which is working on a development of Stock trading product. We chose to use Adobe Flex (in mid of 2008) due to its browser penetration and relative maturity compare 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 we are planning for very advanced user interface (like windows docking framework (as in visual studio 2005/2008) etc). we searched on internet and found that in Adobe Flex, the market of 3rd party components are still very small, but in Microsoft Silverlight, there are so many options available for advance 3rd party components (like DataGrids, Docking Framework).

Can anyone please inform me that when should we expect same type of components in Adobe Flex, or what experts think if we develop new version in Microsoft Silverlight (expertise of Adobe Flex and Silverlight is not an issue at this moment, and assuming we have to develop every thing from scratch).

Also the launch of next version is expected to be in mid of 2010.

Any feedback regarding this is highly appreciated.

+4  A: 

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.. :)

merkuro
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
how does one go about penetrating a browser?
Devtron
A: 

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
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
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
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
"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
flash also needs to be installed. I agree flash is old so can be found in more browsers than silverlght.
Shoban
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
+1  A: 

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
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
A: 

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
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
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
A: 

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
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
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
A: 

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
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
"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
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
"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.
Ismail
+9  A: 

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
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
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
A: 

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
i heard there will be more flex components as flex 4 comes out as it will make things easier with .fxg files
iceangel89
+1  A: 

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
thanks :) when u say docking u mean? the 'panel' will resize accordingly?
iceangel89
when I say docking, I mean some docking functionality like in visual Studio 2005/2008.
Khurram Shakir
+1  A: 

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
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
+1  A: 

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

Huw Collingbourne