AMF学习总结(一)--开篇
1 前言
从业10年,写的文章很少,惭愧,现在想把自己所学所思总结一下,碎片的知识要整理成体系才有价值2 基础定义
2.1 AS3
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。2.2 Flash
Flash 是用来生成 swf 文件的创作工具,做动画比较方便,可以在Fla文件内部写AS3代码,也可以在Fla外部写AS3代码。Flash 内置 AS3 编译器,所以用Flash也可编译AS3代码生成swf文件。
2.3 Flash Player
swf 动画需要在网页上显示出来,就需要安装Flash Player。Flash Player 9是能支持AS3 的最低版本(其实前面还有一个Flash Player 8.5,只是没普及就升级到9了),后面的Flash Player 都能支持AS3了。
2.4 AIR
Flash Player 再强大,也是运行在浏览器中,受浏览器约束。为了摆脱浏览器,Adobe又出奇招,发布了AIR。AIR其实就是一个Runtime,你可以把它理解成JVM。有了AIR,就可以用AS3开发桌面软件,而且开发出的软件可跨平台运行(这和JAVA的一次编译,随处运行如出一辙)。目前国内的AIR应用主要集中在网站的客户端方面,例如新浪微博AIR客户端等。
2.5 Flex
Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player和 Adobe AIR, 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex 应用程序,但Adobe Flash Builder(之前称为 Adobe Flex Builder)软件可以通过智能编码、交互式遍历调试以及可视设计用户界面布局等功能加快开发。
Flash主要针对设计人员,而 Flex 针对的是编程人员,Flash完全可以实现 Flex 的功能。Flex的优势是在于有自己的框架,里面已经有很多功能强大的组件了,Flex里可以使用Flash的类,反之则不行的,一般 Flash 适合做动画和一些不规则的组件,Flex则更适合做一些规则的企业级应用等,当然也可以嵌入Flash做一些社区、游戏应用。
2.6 FlexSDK
FlexSDK是用来编译 Flex 程序的平台软件,Flex SDK 相当于一个库,安装之后,你可以在记事本里编写代码,在Dos下命令行方式来编译你的程序。
2.7 FlexBuilder
Flash可以认为是创作环境,而FlexBuilder则是开发环境(IDE),我们常说的Flex事实指的是FlexBuilder开发环境,它针对程序员,因为它有现成的UI组件,这些UI组件都是基于AS3封装的,我们使用FlexBuilder可以快速高效的创作出自己的RIA程序。Flex builder 本身包含了Flex SDK。
2.8 FlashBuilder
FlashBuilder 是 FlexBuilder 的升级版本,在 FlexBuilder 升级到版本 4 时改名叫 FlashBuilder。在 FlashBuilder 中有更多、更好看、功能更完善的组件,非常适合开发之用。
3 Flex与Flash区别
首先,我们来"统一口径"。本节说到的Flash是狭义的Flash技术,即Flash设计者(所谓的"闪客"),利用Flash制作工具,比如FlashProfessional等创意软件设计,通过逐帧绘制、编写ActionScript脚本而创作Flash作品。这些作品大多数是动画、广告、网站美工作品等。
从技术角度来看,Flex和Flash是融合在一起的。确切地说,Flex是AdobeFlash技术平台架构的重要组成成员。这里的Flash平台架构即广义的Flash。
在应用技术选型的时候,Flex和Flash二者的区别非常明显。
我不想把Flex和Flash的关系类比成Java和Photoshop,但其实很大程度上,确实是这样,即使他们的区别没有这么巨大。
- Flex是面向开发者社区的,专注于企业应用的表现层解决方案,提供了大量的通用组件用于构建前端页面、通过数据服务技术帮助你更好的分离表现层、业务层和数据层。同J2EE或.Net项目类似,Flex应用是由开发者利用集成开发环境(基于Eclipse的FlexBuilder)通过代码和相关配置编写、编译和部署的。
- Flash是面向设计者社区的,设计师使用FlashProfessional创意制作软件,像制作电影一样,在时间线上,逐帧绘制Flash。熟练的Flash设计师也使用ActionScript语言,但更多的是实现动画、特效等更多美工类型的工作。
使用Flex还是Flash,回答下面的问题:
- 你需要开发的是RIA项目吗?
- 是否需要同后端业务集成?
- 是否需要同后端数据关联?
- 界面上需要大量应用成熟的组件吗?例如按钮、文本框、下拉框?
如果你即将开发的是RIA项目或应用,Flex将是你明确的选择。
如果你在考虑使用一种技术构建业务前端,需要同后端业务逻辑关联,Flex将是你明确的选择。
如果你在考虑使用一种技术展现后端数据,例如数据仪表板(DataDashboard),那么Flex将是你最好的选择。
如果你的应用由大量成熟的、用户熟悉的组件构成,例如文本框、按钮、下拉组合框等,那么Flex将是你更好的选择。
如果你需要为网站提供绚丽的装饰、动画或者广告,那么请使用Flash。
需要特别说明的是,在Flex项目中,我们依然会需要传统的Flash技术。利用FlexBuilder,可以直接嵌入并调用Flash设计作品。
4 参考资料
https://blog.csdn.net/y67540/article/details/48787119