Flex 和 Flash 的区别

AS:ActionScript 一种运行在AVM(ActionScript Virtual Machine)上脚本语言。

Flex:
1.Flex SDK,基于Flash平台的软件开发包,Flex SDK包含了Web应用程序框架(framework)和桌面离线应用程序框架(airframework);
2.Flex Builder,利用Flex SDK开发软件的IDE(Integrated Development Environment 集成开发环境)。
3.基于Flex SDK中的framework,使用Flex Builder开发Web应用程序。

AIR:Adobe Integrated Runtime
1.基于Flash平台的桌面离线应用程序运行环境。
2.基于Flex SDK中的airframework,使用Flex Builder开发桌面离线应用程序。

Flex Builder不仅仅可以开发Flex应用程序,也可以开发AIR应用程序。
AS3是用来开发这些应用程序的语言,是基础。从Flex和AIR的编译过程也可以看到这一点(简化版):
1.将MXML文件翻译成AS3文件
2.将AS3编译成abc
3.将abc及其他资源打包进SWF文件

Flash:一种创作工具,设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。
可以说Flex和AIR可以做到的用Flash都可以做到。只不过Flex SDK和AIR runtime简化了许多工作。对开发人员更加友好。

mf是macromedia flash

Flash有时间线的概念,而FLEX的SDK则把时间线这个东东向开发人员隐藏了,因此采用FLEX开发项目的时候就和你用DELPHI,VB,C#那样,直接拖放控件,编写代码即可,而不是像MF那样,把东西拖放的时间线上。

理论上讲Flex能做到的Flash都能做到,Flash能做的Flex都能做。不过Flex的时间轴只有两帧, systemManager, Preloader, DownloadProgressBar等等在第一帧, 其他的都在第二帧。做网页游戏因为更多的是数据的变化,所以我觉得Flex更适合些

不过FLASH9的组件和架构和FLEX的不一样,很多类库也不一样

很久没用FLASH了,不过没记错的话
FLEX和FLASH的组件都是从继承flash.display.sprite开始写的

flash.* 开头的类库,基本上FLEX和FLASH都是一样的
而fl.*开头的是flash独有而FLEX没有的类
而mx.* 开头的就是FLEX独有的类

因为需要开发一个稍微复杂一点的界面。在选择到底是flex还是flash方面做了一些评估测试。

1. 开发的方便性和可维护性

    因为团队的绝大多数成员以前是C++的Coder, 所以个人倾向于用flex. flash的源文件是fla的,管理起来总没有这么方便。有点修改就要重新提交一个fla, 不利于cvs的增量备份,查看那些地方有修改也挺麻烦的。

2. 发布文件的大小

    都使用release形式发布,并且使用RSL,类似C++中的dll。flex的空项目大小为51KB, flash基本就是几k。 这个差别还是挺大的,所以如果只是做个简单的界面,还是用flash会比较好。

你可能感兴趣的:(Flex 和 Flash 的区别)