Flash versus Flex

apache-flexcomparisonflashflex3

I've tried looking everywhere for a concise list of the advantages and disadvantages of using Flex vs. Flash.

Coming from a programming background, I absolutely love Flex. It's easy to pick up, and since it can use flash classes, why would I want to use Flash without flex?

Flex:

Pros:

  • good for RIA development
  • provides many user-input options out of the box
  • Build in lay-outing system
  • the MXML is easier for non-programmers
  • You can quickly combine components to create small applications
  • components can provide an advantage in large-scale projects because of their modular
    nature.
  • can be developed using linux
  • has a nice component lifecycle for validation, etc.

Cons:

  • increases the size of your .swf
  • Customizing the look of components can take a lot longer than anticipated, depending on the visual style you're looking for
  • when you find out you need a custom component that doesn't exist, you might need to go back to Flash to do the real programming work and packaging of the component
  • The "flexibility" of Flex means you will be reading a lot of documentation
  • Bugs in the Flex framework
  • You eventually will need to compromise with the architecture of the Flex framework

Flash

Pros:

  • good for making movies/animations
  • Timeline can be easier for designers/animators to conceptualize
  • when working from scratch, provides a great deal of control.
  • easier for someone with a programming background
  • You can program whatever you like; no compromises with existing frameworks

Cons:

  • only provides basic user input (text box) out of the box.
  • timeline can be daunting for programmers (although you can quite safely ignore it)
  • Development of certain types of applications will be slower than with Flex
  • can't be developed using linux
  • user input validation must all be handled in the code. No built-in validation.
  • need to implement your own lay-outing system

Please correct me if I missed anything said so far.

Best Answer

Flash and Flex both use the same underlying rendering engine, just with different front-ends. Flash is better suited for making movies and animations. Flex is better for application development.

Related Topic