解析Flex与Flash的区别和联系

开发 后端
你对Flex与Flash区别和联系是否熟悉,本文向大家简单介绍一下,Flex是AdobeFlash技术平台架构的重要组成成员。这里的Flash平台架构即广义的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会比较好。

【编辑推荐】

  1. Flex和Flash的区别
  2. 用ActionScript创建可视化的Flex组件
  3. 技术前沿 看Flex客户端缓存技术如何使用
  4. 解析Flex全屏模式设置方法
  5. Flex内存泄露解决方法和内存释放优化原则


 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-08-12 15:30:27

FlexFlash

2010-07-30 14:09:30

FlexFlash

2010-08-03 15:02:45

FlexPHP

2010-07-28 16:05:47

ExtjsFlex

2013-01-22 09:44:57

OpenStackKVM

2010-08-06 09:24:44

FlexFlash

2010-07-27 16:03:42

Flex

2010-08-12 12:55:02

FlexFlash

2010-07-27 10:54:22

Flex

2013-07-11 10:49:58

FedoraUbuntu

2010-08-11 11:17:49

FlexFlash

2010-08-04 08:42:28

Flex和Flash

2010-07-27 14:44:23

Flex Array

2010-08-02 12:44:01

Flex3Flex4

2013-06-14 10:45:15

NFVSDNOpenFlow

2020-07-01 07:44:06

javaSE==equals

2010-09-06 16:27:06

CSSabsoluterelative

2022-10-12 09:01:52

Linux内核线程

2013-01-08 15:11:19

OpenStackKVM

2019-10-18 09:36:17

Oracle数据库硬解析
点赞
收藏

51CTO技术栈公众号