Copyright belongs to the author.
Commercial reprint please contact the author for authorization, non-commercial reprint please specify the source.
Disconne
Links: http://www.zhihu.com/question/20001256/answer/15565376
Source: Know
ActionScript
ActionScript is often referred to as as, and it is the language of the Flash platform. As written by the program, can eventually be compiled into SWF, SWC. SWF is the Flash animation that we often say. But now SWF is not just animation, but the carrier of Ria.
ActionScript is available in 3 versions, version 1.0 (AS1), 2.0 (AS2), and 3.0 (AS3). AS3 compiled SWF is supported only for Flash Player 9 and above. The three versions are very different, and the most popular version is AS3.
Flex and Mxml
Because in the development of RIA, you need a lot of common functions, such as control (Button,combobox,list ... ), Layout (Vgroup, VBox ... ) and so on ... Adobe has developed an official set of frameworks to implement these features, which are called Flex.
To make it easy for programmers to quickly write the RIA program interface, Adobe implements a language based on XML syntax
MXML, the language is much like HTML, can be mixed with AS, and Mxml is eventually compiled into SWF or SWC. The Flex framework is written using AS3 and Mxml in two languages. But, in plain English, Mxml implements the Mxml syntax, and if you are interested, you can do it yourself. Both Flash and Flex are written in as, using the SWF representation.
Flash
Now Adobe has defined flash as a platform (Flash plantform), including the Flash IDE, Flash Builder, AIR, Flash Player, and much more. But we generally talk about Flash, there are two meanings, one refers to Flash animation (that is, the Web page extension of the animation of the SWF), and the other is the Flash IDE.
Flash (IDE) from 4.0 to enter China, the early period has been in the Web animation aspects of the development, is used to do the Web page ads (let you cpu100% one of the culprits) and MV (Showgood three series, small series, university study Room ...). Ever rage AH). At that time, the "flash", mainly to do animation, even if it involves programming, but also mostly with the AS1.0 (later Flash MX 2004 upgrade to AS2.0) write a little stop, gotoandplay and other stuff. Flash (IDE) development to 8.0 version, only began to use a lot of programming, then the more popular is "flash message book" and so on. Related history I made a picture that the number in parentheses is the year. <img src= "https://pic3.zhimg.com/1559a5084ca65d01cb9715754f32dd1a_b.jpg" data-rawwidth= "685" data-rawheight= "514" class= "Origin_image zh-lightbox-thumb" width= "685" data-original= "https://pic3.zhimg.com/ 1559a5084ca65d01cb9715754f32dd1a_r.jpg ">
Flash Builder/flex Builder
As developed to 3.0, because of its syntax and Java comparison, coupled with enhanced performance and strong typing, can be completely out of the FLA file, using plain text encoding, by many other programmers (especially Java programmers) favor. As a result, more and more people are developing programs with AS. As in the video site, the game industry has developed rapidly. However, although the Flash IDE is a good animation tool, it is not a good development tool. As a result, Adobe released Flex Builder, an eclipse-based IDE, and released the Flex SDK, which was then open source.
With a free compiler, Flex is growing fast. With Flex Builder, you can also develop a pure as project (that is, all files are as files, do not contain mxml, and do not contain FLA). A real program ape, should be more willing to use this way? Flex Builder starts with 4.0 and is renamed Flash Builder by Adobe.
Flash Builder and the Flash IDE should not be compared together, they are not a class of software. If you must compare the words, then is the Flash IDE more emphasis on the design, use it to do animation more convenient, of course, you can also use it to write AS3 program. Programs written in the Flash IDE will have a FLA source file and may contain multiple as files. Flash Builder focuses on programs that you can use to develop mxml (i.e. flex) projects. You can also use it to write a pure as project. Projects written in Flash Builder are plain text files (. As or. mxml). For program flow, of course, Flash Builder is preferred, while the design flow prefers the flash IDE.
Of course, the IDE is not the only Adobe official thing, Flash develop is a free IDE. If you want, it's OK to use Notepad as an editor (for example, Zrong is trying to vim) because the SDK and compiler are free.
Flash Player
The SWF animation needs to be displayed on the Web page, and Flash Player needs to be installed. Flash Player's different versions, in fact, and the Flash IDE also has a certain correspondence (can also be seen from the). But after the AS3 era, this correspondence is less obvious. Flash Player 9 is the minimum version that can support AS3 (in fact, there is a Flash player 8.5 in front of it, but not the popularity of the upgrade to 9), the following Flash Player can support AS3. As for Flash Player, I've written a most detailed description of Flash Player ever, and it's clear to see this.
AIR
Flash Player is again powerful and runs in the browser, subject to browser constraints. In order to get rid of the browser, Adobe also surprisingly, published air. Air is actually a runtime, and you can interpret it as a JVM. With air, you can develop desktop software with AS3, and the software is developed to run across platforms (this and Java
compile once, run anywhereNot the same! )。 At present, the domestic air applications mainly focus on the client side of the website, such as Sina Weibo air client.
SWF SWC SWZ
SWF
SWF is the most flash platform file we have ever seen. Yes, it is the final manifestation of the Flash platform. As mentioned earlier, whether it's flex, flash or pure AS3, the resulting files are SWF format, the Flash Player plugin in the browser and the standalone Flash Player, and can only "open" the SWF file for playback. The air, which is mentioned earlier, is essentially the +swf of the runtime.
In fact, not all SWF can play directly. There are 3 SWF types:
- Program SWF (Application swf): SWF that can run directly in Flash Player;
- Libraryswf: library.swf in a SWC file;
- Moduleswf: The SWF file generated by the Flex module.
The vast majority of end-user encounters are "program SwF", and the likelihood of a program ape bumping into the next two kinds of SwF is quite large.
SWC
SWC is a library file that is typically used to publish non-open-source classes. Program apes compile the source code into SWC files and publish API documentation, and we can use the class libraries provided by these SWC for our own development. SWC is not shared by the runtime, but is added directly to the program SWF at compile time. The final program SWF can run out of SWC.
The SWC essence is a zip document that contains a library.swf file and an XML file for description that you can open with the Zip manager.
SWZ
You may find that since the advent of the TLF, there is a FLASHX package in the Flex SDK, and the functionality in this package is implemented with SWZ. SWZ is a library that is shared at run time, and you can treat it as a
SWC that can be placed on the outside。 and SWZ sharing is platform-level (Moudle SWF share is the browser level), exists in the operating system cache (Module SWF exists in the browser cache), as long as the download once SWZ, your operating system all used in these swz places (whether IE, FF, Chrome or air) are not downloaded again.
For the program Ape, here the information about SWC and SWZ is certainly not enough, so it is recommended to look at Smithfox swf swc swz RSLs ant, this part of this article is also written in reference to it.
What are the interrelationships between Flash, Flex, Air, and Flashplayer?