Silverlight vs Flex

前端 未结 22 1545
后悔当初
后悔当初 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
    
    
    
    // display full name..
    
    

    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

提交回复
热议问题