Silverlight vs Flex

前端 未结 22 1249
后悔当初
后悔当初 2020-12-07 09:05

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

相关标签:
22条回答
  • 2020-12-07 09:24

    We are doing both silverlight and flex, and here are developer's point of view for both.

    Pros of Silverlight:

    1. Power of C#, Code Snippets, Reusing existing C# Algorithm Implementations
    2. Power of other languages too, Generics and Linq etc
    3. Power of Native execution of CLR instead of Flash's Action Script Interpretator
    4. One Integrated Visual Studio for All Development
    5. Expression Blend is really cool and more advanced editor then Flex Builder
    6. XAML is Search Engine Friendly
    7. Pretty nice state transitions and easy to define them
    8. Threading and Asynchronous Tasks
    9. Accessibility, no one knows that Microsoft always made the best accessiility features on all of its products, they always worked well with disabled people, comparing the browsers only IE supports full accessibility and Safari/firefox etc are no where closer.

    Cons of Silverlight:

    1. Strictly Microsoft Platform, I know lot of people will argue but with current scenario, half of Intel Mac guys cant get silverlight 3.0 working, all PPC Mac guys cant use Silverlight 2.0 onwards, and No silverlight for Linux.
    2. There is mono, but not officially supported by Microsoft, it will always lag behind reverse engineering .NET and porting it on other platform, its not out of the box yet.
    3. Majority of components/controls are "Sealed" so its difficult to extend them and override to make new components easily.
    4. Bad CustomControl/UserControl architecture. E.g. you cant have XAML's root as ComboBox or any other control and let it have both design as well as code, you can create custom control but they are way too complex
    5. Binding requires component naming and does not support instance expressions like flex does, though two way binding is good in silverlight but you have to write long codes for multiple bindings for one math expression
    e.g.
    // this is possible in flex..
    // but not in silverlight
    <mx:TextBox id="firstName"/>
    <mx:TextBox id="lastName"/>
    
    // display full name..
    <mx:Label text="{firstName.text} {lastName.text}"/>
    

    Pros of Flex:

    1. Truely platform independent, supported on various hardware and operating systems and truely working everywhere great.
    2. Open Source makes it really easy to understand and extend the functionality.
    3. Every control/component can be extended and there are less restrictions overriding default behaviour.
    4. The most easy way to create new components, you can have mxml derive from any control and extend them with extensive binding
    5. Flex contains lots of controls and you dont need any third party library

    Cons of Flex:

    1. Slow execution for iterative executions, no threads !! no async tasks !!
    2. Based on point 1, no great animation or graphics possible
    3. No generics, No other languages, No linq..
    4. Number class has a bug, cant store full 64 bit long value
    5. Eclipse is bad to design something great UI

    Conclusion

    1. We use flex for data applications, those are simple form processing applications
    2. Silverlight for extremely rich graphics and animation
    0 讨论(0)
  • 2020-12-07 09:24

    Not to forget:

    Flex is very much cross platform, as it is compiled using as Java compile which means that you can easily use Mac or Linux when developing Flex applications. I've my current cruisecontrol setup (which uses Linux) I build build Flex applications, but the development guys uses both Mac, Linux and Windows.

    In my experience, java developers feels quite at home in Flex Builder since it is based on Eclipse.

    0 讨论(0)
  • 2020-12-07 09:24

    Flash Player is available & supported officially in almost all desktop platforms (Windows, Linux, Mac) whereas Silverlight will be supported mainly in Windows.

    the following article provides comparision of both the platforms.

    0 讨论(0)
  • 2020-12-07 09:25

    There's two questions here: Silverlight vs. Flash as platform and Silverlight vs. Flex as RIA framework.

    The first question depends on your timeframe. Flash Player has over 95% reach, Silverlight has no way near that. However, Silverlight may get there, it is after all backed by Microsoft. If you aim to launch a site next week and want a huge audience, Silverlight is not an option. If you aim to launch a really cool application that everyone would want to use it's a bit different, if your app is good enough your target audience may install Silverlight just to be able to run it.

    As for the second question its a matter of how easy it is to develop applications in Silverlight. Flex isn't just a set of widgets, it's a very big framework that does a lot of thing that ease the work of the developer. You could write the same applications using only the core Flash API, but it would be very much more work. Depending on what's available in Silverlight, this should be an important factor when deciding. If you can cut development time, is having two platforms worth it?

    0 讨论(0)
  • 2020-12-07 09:27

    This is an old question, history has now spoken!

    Silverlight has been as good as abandoned by Microsoft, it never got a useful install base. Party due to Microsoft not committing 100% to it.

    Flash (hence Flex) is still going. However more and more browsers don’t support any plug-ins, so it is only a matter of time (years) before flush goes the way of Silverlight.

    Maybe one day Flex will be re-targeted to HTML5 with no plug-ins….

    The iPhone was spoken, and it said the only option is Apples Way or HTML5.

    0 讨论(0)
  • 2020-12-07 09:30

    Someone said: "Find 3 real world silverlight applications". Ok, I knew some off the top of my head but I googled it anyway. The list:

    • 2008 Beijing Olympics (stats here, 250TB of data delivered!)
    • Netflix on-demand player
    • AOL email client (may not be released yet)

    Oh, not video players? Well that leaves the UFC application (it's a hybrid video/chat/other stuff) and the AOL email client. Silverlight excels at video and that's where it's gaining it's foothold but that doesn't mean it can't do other things. I see no reason to dismiss it just because it does video well.

    Infoworld [link] said that "Silverlight has substantial technical merit and relatively good performance. It's a very capable RIA technology that's especially useful in the hands of programmers with .Net experience and designers with XAML experience." It's a good article for you to read regarding your question.

    My answer: if you have a team of devs that are comfortable with .NET then Silverlight should be first on your list. If not, then it's a real tossup. I've seen articles say that Visual Studio is a superior development platform compared to what you use with Flex. But Flash is damn near ubiquitous.

    Also keep in mind that Silverlight 2 uses almost no Javascript (I think none, but I'm not positive). So any avoidance of Silverlight because of JS is unfounded.

    If performance matters, Silverlight wins there. I've seen my browser's CPU usage go to 100% many times and killing whatever window is running Flash always got rid of it. It's especially obvious in Chrome where you can see the process that's consuming your CPU. If your interested in Silverlight for gaming potential, look for QuakeLight, the Silverlight port of Quake. It's shaping up really well.

    I really think it comes down to where your developer talent lies and what kind of application you'll be delivering. Simple game? Flash. Line of business app? Silverlight. In-between? Go with what your devs recommend.

    0 讨论(0)
提交回复
热议问题