在学习Flex的过程中,你可能会遇到Flex和Flash关系这方面的问题,这里和大家分享一下,Flex和Flash都以ActionScript作为其核心编程语言,并被编译成swf文件运行于Flashplayer虚拟机里。
Flex和Flash关系
首先这里想说的是,Flash并非只是一个单纯的矢量动画创作工具,而是一个凭借脚本语言ActionScript在功能和定位上不断演变的网络应用开发工具。早在FlashMX的时候就已经成为macroemdia推广RIA战略的工具。但是毕竟Flash最初的定位是面向美工的矢量动画创作工具,并不适合传统的开发人员。于是Flex成为开发者们的首选。
Flex和Flash都以ActionScript作为其核心编程语言,并被编译成swf文件运行于Flashplayer虚拟机里。因此Flex也继承了Flash在表示层上先天性的美感、除了视觉上的舒适感外,还天生具备方便的矢量图形、动画和媒体处理接口。
虽然Flex和Flash有众多的相似点,但是不同之处仍然很多
1.尽管公用ActionScript,但是使用的库并不完全相同,更合适的说法是两者使用着两套具有极大“功能重叠”范围的库。
2.Flash偏向的是美工人员,所以更容易发挥特效处理的优势,Flex偏向开发人员,所以容易做出具有丰富交互功能的应用程序。
3.Flash只能以ActionScript脚本的形式开发(舞台被关联到一个称之为documentclass的类里),另外舞台元素也是可以绑定脚本的,不过从软件工程的角度讲不建议这样用,Flex还可以使用称作mxml的标记语言来描述应用的外观和行为,mxml中可以直接嵌入ActionScript脚本。
4.由于第三点而造成的两者市场定位不同,Flex是面向企业级的网络应用程序,Flash则面向诸如平面动画、广告设计等多媒体展示程序。
5.借助FlashLite这一移动设备上的Flashplayer,Flash可以开发移动应用,Flex则不行。
6.Flash的编程模型是基于时间轴的,Flex的则是基于窗体,虽然它运行在网页里。
【编辑推荐】