The term Flash may include any of the other terms defined below, and I believe that saying “Flash” without specifying what you mean can be misleading and misleading. Example: I'm not sure what you mean when you say "Flash" in your question. Is this a flash player? Author's tool? Or the whole set of technologies that fall under what Adobe calls the "Flash Platform"? To clarify all this, let me define the technologies involved in creating Flash and Flex content, so that we all use the same terminology here:
Flash Player is a runtime environment for multimedia content in a browser. There is also Flash Lite for launching Flash content on older or younger mobile devices, and Adobe AIR extends Flash Player so content authors can publish their own desktop and mobile applications that can integrate with things like the file system, window systems, and device sensors such as an accelerometer and a camera. Collectively, Adobe refers to them as Flash Runtime .
Flash Professional (often referred to as the Flash development tool or Flash IDE ) has traditionally been the primary application used to create content that runs on Flash Player. He is very focused on designers with graphics, layers and visual drawing tools. Software developers may find this application disorienting and limited compared to other development tools that are more focused on code, such as Flash Builder (see below). When someone says, “I created something with Flash,” they often mean the Flash development tool, but this is not always the case. For this reason, it is always helpful to clarify in order to avoid confusion.
ActionScript is the main programming language supported by Adobe to customize Flash runtime. The current version is ActionScript 3 (abbreviated AS3 ), which is supported with Flash Player 9. Content created in older versions of ActionScript can still be run in recent versions of Flash Player, but new features are only supported when using ActionScript 3 to create new content .
Flex is a set of technologies designed to create rich applications focused on the battery life of Adobe Flash. Although the phrase “Flex” previously had the same ambiguity as “Flash,” the Flex brand name is increasingly focusing on the Flex and SDK structure described below.
The Flex SDK consists of compilers, a command line debugger, and the Flex framework. Included compilers: 1. MXMLC, ActionScript and MXML compiler to output the final SWF file for deployment in Flash Player. 2. COMPC, a static library compiler for ActionScript that outputs SWC files. 3. ASDOC, a documentation generator based on compiler technology.
The Flex framework is a collection of ActionScript classes designed to create Rich Internet Applications. It includes elements such as user interface controls, web services and other connection classes, formatting and validators, drag and drop, modal window and component states. These classes are in the mx package. *. Typically, when developers say "Flex" without any qualifying information, they mean the Flex structure, not the product formerly known as Flex Builder.
In 2011, Adobe donated the Flex SDK to the Apache Software Foundation. Now called Apache Flex , it is fully community-driven, not Adobe. However, Adobe employees continue to contribute to the project, and Flash Builder (see below) continues to support the new SDKs released by the Apache Flex project.
MXML is an XML-based markup language used by Flex compilers to simplify the layout and placement of components in containers. The XML tree structure simplifies the visualization of the containment hierarchy. MXML is actually converted to ActionScript during the compilation process.
Flash Builder (formerly known as Flex Builder ) is a development environment that allows developers to create various types of projects to create SWF files that are deployed while Flash is running. It is built on the Eclipse platform and is better known to software developers. Flash Builder supports projects created using Flex or pure ActionScript. Flex projects include the Flex infrastructure. ActionScript projects are the most basic projects you can work with, starting with one class and an empty canvas, and Flex frames are not included.
Flash Builder does not replace Flash Professional. Some people who have traditionally used Flash Professional can now use Flash Builder instead. Often these are software developers who appreciate or require the advanced development tools offered by Flash Builder, or do not work heavily with assets created in the visual tool. Some developers can write their code in Flash Builder, while choosing to compile their projects in the Flash development tool. Often these developers are also designers or work with other people who are designers. In this situation, there can be many graphical assets created in the Flash development tool, and it can be difficult or simply inappropriate to bring them to another environment.
The Flex framework is specifically designed for building applications. It includes many traditional format control elements (buttons, lists, datagrids, etc.), and most of the code is executed in an extended component framework written in ActionScript. Not everyone creates content that Flex is designed to create, and Flex doesn't replace traditional Flash development methods for everyone. This is the best approach for some developers, but it may not be suitable for others. More designer websites, such as those created for movies, music, energy drinks, advertising campaigns, etc., should probably not use the Flex framework. These types of content may be better suited to Flash Professional or a clean ActionScript project in Flash Builder. Similarly, the small widgets that you place on the sidebar of your website or your profile on a social networking website may need to be built using pure ActionScript (without the Flex framework) because they require a smaller file size, and they probably don’t need a large complex component architecture designed for large applications. When setting up the Flash runtime, you must choose a development environment, framework, and workflow based on the requirements and goals of the project.