What is the relationship between Flex, Flash and ActionScript 3.0
Flash (Now Adobe Animate) : Both the name for the tool (Officially called Adobe Flash Professional CC (previously CS#), but often called the Flash IDE), and the Platform. The Flash Platform is everything on this list, plus more. "Flash" also may refer to Flash SWF files. which is the compiled application.
Flex : Framework that uses MXML and ActionScipt. Includes many widgets, classes, etc for building rich applications in no time.
ActionScript 3.0 : Programming language that is used to create logic and interactivity throughout the flash platform
MXML : Declarative markup language used by the Flex framework.
Flash Player : The runtime environment that "plays" Flash SWF files.
Flash Builder : (Previously called Flex Builder) Code IDE based on eclipse, built by Adobe. Used to code anything for the flash platform, including ActionScript, Flex, AIR, etc. Also integrates nicely with the Flash IDE.
Adobe AIR : Adobe Integrated Runtime. Cross OS runtime, that lets you make Flash application that run and integrate with the desktop.
Flex SDK : Development Kit that contains a bunch of tools for building Flash, Flex, and AIR application. It contains the Flex compiler, that can be used to compile your Flash projects, including AS3 only projects.
Good overview of the Flash Platform: http://www.adobe.com/devnet/flashplatform/articles/flashplatform_overview.html
A few other links for further reading: Flash is being redefined, Flash is Not a Stepping Stone!
Its a good question, and one of which many people tend to be confused with.
- Flash
The all singing, all dancing graphics and vector stuff you'll be aware of - This is primarily deemed as the visual stuff. When you open Adobe Flash, its an interface to build animated stuff turned into binary magic
- Actionscript 3
This began life as a small variable like assistance for flash graphicy stuff. It has evolved (as you're aware) into the full blown language based upon the ECMA standard. This is why its very similar to languages like Java and JS
- Flex
May become confusing from here.
Flex has many forms.
- Its an XML style language of which allows you to build up the 'flash' stuff via a markup language, instead of drawing it all yourself.
- This begins to become a stable component set based on the MXML (Macromedia XML) syntax.
- Flex wraps pretty much the entire AS3 language with this MXML syntax and thus becomes a framework
Its become the norm to have Flex as your frontend markup, tied into AS3 logic.
Whats surprising to many people, even those in the trade. Flex MXML is compiled down at compile runtime time to raw AS3 code and thats used when the SWF is deployed. - *edit:
This is why its just like an interpreted language,
when building an Flash app you may use a combination of these elements.
Primarily AS3 and Flash live hand in hand. AS3 and Flex is again a marriage. You can create Flex components in flash
To be made aware. This should not be confused with the Flex IDE - which is not the framework. Adobe's newest rendition of the software has been branded 'Flash Builder' to thwart confusion.