解析Flex与Flash的区别和联系(转)

本文和大家重点讨论一下Flex与Flash区别和联系,从技术角度来看,Flex和Flash是融合在一起的。但是在应用技术选型的时候,Flex和Flash二者的区别非常明显。

Flex与Flash区别

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

Flex:

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

AIR:AdobeIntegratedRuntime

1.基于Flash平台的桌面离线应用程序运行环境。
2.基于FlexSDK中的airframework,使用FlexBuilder开发桌面离线应用程序。

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

Flash:

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

mf是macromediaflash

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会比较好。

引用地址:http://developer.51cto.com/art/201007/215300.htm

转载于:https://www.cnblogs.com/yubowaver/archive/2013/04/15/3021719.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值