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,回答下面的问题:

  1. 你需要开发的是RIA项目吗?
  2. 是否需要同后端业务集成?
  3. 是否需要同后端数据关联?
  4. 界面上需要大量应用成熟的组件吗?例如按钮、文本框、下拉框?

  如果你即将开发的是RIA项目或应用,Flex将是你明确的选择。

  如果你在考虑使用一种技术构建业务前端,需要同后端业务逻辑关联,Flex将是你明确的选择。

  如果你在考虑使用一种技术展现后端数据,例如数据仪表板(DataDashboard),那么Flex将是你最好的选择。

  如果你的应用由大量成熟的、用户熟悉的组件构成,例如文本框、按钮、下拉组合框等,那么Flex将是你更好的选择。

  如果你需要为网站提供绚丽的装饰、动画或者广告,那么请使用Flash。

  需要特别说明的是,在Flex项目中,我们依然会需要传统的Flash技术。利用FlexBuilder,可以直接嵌入并调用Flash设计作品。

4 参考资料

https://blog.csdn.net/CSDNMicrosoftCSDN/article/details/41674661?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-41674661-blog-48787119.235^v43^pc_blog_bottom_relevance_base8&spm=1001.2101.3001.4242.1&utm_relevant_index=3

https://blog.csdn.net/y67540/article/details/48787119

 

posted @ 2024-11-01 11:53  子非鱼220  阅读(3)  评论(0编辑  收藏  举报