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.