ActionScript
ActionScript通常简称为AS,它是Flash平台的语言。AS编写的程序,最终可以编译成SWF、SWC。SWF就是我们常说的Flash动画。但是现在SWF已经不仅仅是动画,而是RIA的载体。
ActionScript有3个版本,分别是1.0版(AS1),2.0版(AS2)和3.0版(AS3)。只有Flash Player 9及以上播放器才支持AS3编译的SWF。这三个版本的差别非常大,现在最流行的版本是AS3。
Flex与MXML
因为在开发RIA的时候,需要很多常用的功能,例如控件(Button,ComboBox,List……)、布局(VGroup、VBox……)等等…… Adobe就开发了一套官方的框架集来实现这些功能,这套框架集就叫做Flex。
为了方便程序员快速编写RIA程序界面,Adobe又实现了一种基于XML语法的语言MXML,这套语言很像HTML,可以与AS混用,MXML最终也是编译成SWF或SWC。 Flex框架就是使用AS3与MXML两种语言写成的。但说白了,MXML 外加实现了MXML语法,如果你有兴趣,也可以自己实现这些。 Flash和Flex,都是用AS编写,使用swf体现。
Flash
现在Adobe已经将Flash其定义为一个平台(Flash Plantform),包括了Flash IDE、Flash Builder、AIR、Flash Player以及更多。但我们一般讲Flash,有两个意思,一个是指Flash动画(也就是网页上扩展名为swf的动画),另一个就是Flash IDE。
Flash(IDE)从4.0开始进入中国,前期一直在网页动画方面告诉发展,多被用来做网页小广告(让你CPU100%的罪魁祸首之一)和MV(showgood三国系列、小小系列、大学自习室……曾经风靡一时啊)。那时的“闪客”,主要是做动画,即使涉及到编程,也大多是用当时的AS1.0(后来Flash MX 2004升级为AS2.0)写一点stop、gotoAndPlay之类的东东了。Flash(IDE)发展到8.0版本以后,才开始大量用于编程,当时比较流行的就是“Flash留言本”等等。相关历史我做了一张图来表示,括号里的数字是年份。
Flash Builder/Flex Builder
AS发展到3.0之后,由于其语法和JAVA比较像,再加上增强的性能与强类型,可以完全脱离FLA文件,使用纯文本编码,受到了许多其他程序猿(尤其是JAVA程序员)的青睐。由此得以高速发展,用AS开发程序的人也越来越多。AS在视频网站、游戏行业发展迅速。但是,Flash IDE虽然是一个很好的动画制作工具,却不是一个好的开发工具。于是,Adobe又发布了Flex Builder,一个基于Eclipse的IDE,并发布了Flex SDK,后来又开源了。
有了免费的编译器,Flex得以快速发展。用Flex Builder也可以开发纯AS项目(即所有的文件都是as文件,不包含MXML,也不包含FLA)。一个真正的程序猿,应该更愿意使用这种方式吧?
Flex Builder从4.0开始,被Adobe改名为Flash Builder。Flash Builder和Flash IDE不应该放在一起比较,它们不是一类软件。如果一定要比较一下的话,那么就是Flash IDE比较偏重于设计一点,用它做动画比较方便,当然也可以用它编写AS3程序。用Flash IDE编写的程序,会有一个FLA源文件,可能还包含多个as文件。Flash Builder偏重于程序,用它可以开发MXML(也就是Flex)项目。也可以用它编写纯AS项目。用Flash Builder编写的项目,都是纯文本文件(.as或者.mxml)。 对于程序流,当然偏爱Flash Builder,而设计流比较偏爱Flash IDE。
当然,IDE并非只有Adobe官方的东西,Flash Develop就是个免费的IDE。如果你愿意,用记事本做编辑器也没什么不好(比如说zrong就正在尝试VIM),因为SDK和编译器都是免费的。
Flash Player
swf动画需要在网页上显示出来,就需要安装Flash Player。Flash Player的不同版本,其实与Flash IDE也有一定的对应关系(从上图也能看出来)。但到了AS3时代后,这个对应关系就不那么明显了。Flash Player 9是能支持AS3 的最低版本(其实前面还有一个Flash Player 8.5,只是没普及就升级到9了),后面的Flash Player 都能支持AS3了。关于Flash Player,我写过一篇有史以来关于Flash Player的最详细说明,看这个就很清楚了。
AIR
Flash Player 再强大,也是运行在浏览器中,受浏览器约束。为了摆脱浏览器,Adobe又出奇招,发布了AIR。AIR其实就是一个Runtime,你可以把它理解成JVM。有了AIR,就可以用AS3开发桌面软件,而且开发出的软件可跨平台运行(这和JAVA的一次编译,随处运行不是如出一辙么!)。目前国内的AIR应用主要集中在网站的客户端方面,例如新浪微博AIR客户端等。
SWF SWC SWZ
SWF
swf是我们见到的最多的Flash平台文件了。是的,它就是Flash平台的最终表现形式。前面说到了,无论是Flex、Flash还是纯AS3,最终编译出来的文件都是swf格式,浏览器中的Flash Player插件和独立的Flash Player,也只能“打开”swf文件进行播放。前面说到的AIR,它的本质也就是运行时+swf而已。其实并非所有的swf都能直接播放的。swf有3种:
-
程序SWF(application swf):可以直接在flash player中运行的swf;
-
库SWF(library swf):swc文件中的library.swf;
- 模块SWF(module swf):Flex Module产生的swf文件。
最终用户碰到的绝大多数都是“程序SWF”,而程序猿们碰到后面两种SWF的可能性就比较大。
SWC
SWC是一种库文件,通常用来发布非开源的类。程序猿们将源码编译成SWC文件,并发布API文档,我们就可以使用这些SWC提供的类库进行自己的开发。SWC并不是运行时共享的,而是在编译的时候直接加入了程序SWF中。最终的程序SWF可以脱离SWC运行。SWC本质就是一个zip文档,其中包含一个library.swf文件和一个用于描述的xml文件,你可以用zip管理器打开它查看。SWZ
你可能会发现,从TLF出现以来,Flex SDK中多了一个flashx包,这个包中的功能,就是用SWZ实现的。SWZ是在运行时共享的库,你可以将其看作一个可以放在外部的SWC。而且SWZ的共享是平台级别的(Moudle SWF的共享是浏览器级别),存在于操作系统缓存中(Module SWF的存在浏览器缓存),只要下载过一次SWZ,你的操作系统中所有用到这些SWZ中的地方(无论是IE、FF、Chrome还是AIR)都不用重新下载。
对于程序猿,这里的关于SWC和SWZ的信息肯定是不够的,所以建议看一下smithfox的swf swc swz RSLs ant,本文的这个部分也是参照它写成的。
分享到:
相关推荐
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
同时,Flex应用运行在Flash Player或Adobe AIR上,这使得它们可以在多个平台上运行,包括Web浏览器和桌面环境。 2. **MXML和ActionScript**:Flex 4引入了MXML和ActionScript的混合编程模型,MXML用于声明式定义...
FlexBuilder 3是一款由Adobe公司推出的集成开发环境(IDE),专为构建富互联网应用程序(RIA)而设计,尤其是基于Adobe Flash Player和Adobe AIR的应用。这个IDE是基于Eclipse平台,提供了一整套工具来帮助开发者...
它基于ActionScript,一个面向对象的脚本语言,与Flash Player或Adobe AIR(Adobe Integrated Runtime)紧密结合,允许开发者创建动态、响应式的网络应用。 在Flex Builder中,你可以找到一系列功能,包括代码编辑...
此外,Flash Builder还集成了对Adobe Flash Player和Adobe AIR的支持,使得开发者可以轻松地将应用部署到桌面、移动设备以及浏览器中。 Adobe Flash Builder 4的许可证是基于Creative Commons Attribution Non-...
它是基于Eclipse平台构建的,提供了丰富的工具集,支持ActionScript编程、MXML布局以及与Flash Player和Adobe AIR的交互。在Flex开发过程中,日志记录是调试和问题排查的重要环节,因此了解如何在Flex Builder中设置...
《Flash Builder快速入门》是一本面向初学者的实用教程,主要涵盖了使用Adobe Flash Builder进行Flex应用开发的基础知识和技能。Flash Builder是一款强大的集成开发环境(IDE),专为构建富互联网应用程序(RIA)而...
2. **ActionScript 3**:ActionScript 3是Flash Player和Adobe AIR平台上的主要编程语言。相对于AS2,AS3有更强的类型系统、更高效的性能和更丰富的类库。在对对碰游戏中,AS3可能用于实现游戏规则、碰撞检测、计分...
它集成了 Flash Player 和 AIR 运行时环境,支持 ActionScript 3.0,使得开发者能够高效地创建高质量的富互联网应用程序。 **2. FlashBuilder 4 主要特点** - **强大的代码编辑器**:提供智能提示、语法高亮等功能...
### FlexBuilder 4.6 中文帮助文档知识点总结 #### 第1章:关于FlashBuilder - **概述**:Adobe Flash Builder 4.6 是一款基于 Eclipse 构建的集成开发环境(IDE),专为开发跨平台的富互联网应用程序(RIA)而...
Adobe Flex Builder 3.0是Adobe公司推出的一款强大的集成开发环境(IDE),专门用于构建富互联网应用程序(RIA),特别是基于Adobe Flash Player和Adobe AIR的应用。本教程将深入讲解Flex Builder 3.0的各个方面,...
在FlashBuilder中,开发者能够构建利用Flex框架、MXML、Adobe Flash Player、Adobe AIR、ActionScript 3.0和LiveCycle Data Services的应用程序。 FlashBuilder 4.7开发指南详细地介绍了FlashBuilder的各个功能和...
Flex是Adobe开发的一个开放源代码框架,主要用于构建富互联网应用(RIA),它基于Flash Player或Adobe AIR运行时,使得开发者能够用XML、ActionScript和MXML来构建具有复杂用户界面的应用。 【描述】中的“as3水墨...
3.0版本引入了改进的代码提示、性能提升和对Flash Player及 AIR 平台的更好支持。 整合MyEclipse与Flex Builder的目的在于创建一个统一的工作流,使得开发者可以在同一环境下进行Flex前端和Java后端的开发,减少在...
Adobe Flex Builder 3.0是Adobe公司开发的一款强大的集成开发环境(IDE),专门用于构建富互联网应用程序(RIA),特别是基于Adobe Flash Player和Adobe AIR的应用。这个"Adobe Flex Builder 3.0对对碰AS源码"是针对...
- 支持构建使用 Adobe Flex® 框架、MXML、Adobe Flash Player 的应用程序。 - 能够构建跨平台的 RIA 应用程序。 #### 第2章:Flash Builder 入门 **工作台与透视图** - **工作台**:Flash Builder 提供了一个集成...
Adobe Flash Builder 主要针对Adobe Flex框架、MXML、Adobe Flash Player、Adobe AIR平台以及ActionScript 3.0进行开发,同时也支持Adobe LiveCycle Data Services。 第二章介绍了Flash Builder的基本工作环境,...
Flex Air音乐播放器源码是基于Adobe Flex Builder 3开发的一款应用程序,主要使用ActionScript编程语言,这使得它能够在Adobe AIR(Adobe Integrated Runtime)平台上运行。Adobe Flex是用于构建富互联网应用程序...
Flex是由Adobe开发的一种开源框架,主要用于构建基于Flash Player或Adobe AIR的桌面和Web应用程序。它提供了MXML和ActionScript语言,使得开发者能够以声明式方式设计用户界面,并通过编程逻辑控制应用程序的行为。...
Flex SDK 提供了编译器和运行时库,可以将 Flex 应用程序编译为 SWF 文件,然后在 Adobe Flash Player 或 AIR(Adobe Integrated Runtime)中运行。 Flash 则是创建动画、图形和交互式内容的平台,以其强大的矢量...