纠正常见AdobeFlex误解

开发 后端
在Qcon上,Adobe的JamesWard和InfoQ.com一起分享了他推广传播Flex应用框架过程中所遇到的对AdobeFlex的十大误解。

本文和大家重点讨论一下人们对AdobeFlex的一些误解,通过对这些误解的学习你会对AdobeFlex的概念有更加深刻的认识,希望本文的介绍能让你有所收获。

对AdobeFlex的误解

在Qcon上,Adobe的JamesWard和InfoQ.com一起分享了他推广传播Flex应用框架过程中所遇到的对AdobeFlex的十大误解。
为了运行Flex应用程序用户需要安装新东西。

Ward向InfoQ.com独家论述了Flash采用比例和Flex编程模型:
Flex2和Flex3必需运行在FlashPlayer9上。FlashPlayer9运行时目前已经被安装在世界94%的计算机上:http://www.adobe.com/products/player_census/flashplayer/version_penetration.html

Flex2和Flex3的应用程序执行在FlashPlayer9环境下。Flex应用程序构建在本地FlashPlayerAPI之上,如矢量图形、位图处理和网络(基于浏览器网络协议栈)。Flex框架增加了如日期选择器、数据表格、图表等可重用组件。编译Flex应用程序的结果产生一个SWF文件,它是供FlashPlayer使用的二进制字节码格式。SWF文件包含的是Flex框架代码和项目自定义代码的字节码。Flex编译器对字节码进行了优化,只将要用的类编译到SWF文件中。

对于桌面应用软件,Adobe的目标是推出自己名为AdobeAIR的新桌面运行时,希望能像Web运行时一样普及。AdobeAIR1.0版本将于2008年初发布。目前,从labs.adobe.com上可得到的AIR是测试版。许多公司都已经在使用AIR构建产品软件。eBay的应用程序eBay桌面就是一个例子。

◆FlashPlayer是100%私有的。

Ward继续为InfoQ.com做出说明:
FlashPlayer的核心是Tamarin虚拟机,这是Mozilla旗下的一个开源项目。而SWF文件格式不是完全开放的,它是由osflash.org社区备案的。已有很多读写SWF文件的开源产品。FlashPlayer产品的发展方向在很大程度上受该社区及其需求所影响。FlashPlayer的核心语言是ECMAScript262的一个实现,ECMAScript262是JavaScript的规范。Flex还将CSS用于组件/应用的样式。AdobeAIR使用web标准以及开源技术如Tamarin、Webkit和SQLite作为其桌面应用的基础。

◆Flash是为设计者、视频准备的,而且让人讨厌。

2007年7月Ward在博客文章“我是如何克服对Flash的恐惧”中指出:
毋庸置疑的,Flash的能力被滥用了。弹出窗口、跳过介绍和烦人的广告横行于我们的屏幕上。我曾听人们说过不应该因为一个宗教被滥用而否定它。这一格言同样适用于技术。FLASH不能因为有些人拿它来做令人讨厌的东西而遭到摒弃。毕竟e-mail并没有因为垃圾邮件泛滥而消失。
Ward为InfoQ.com详细阐述了该主题:
传统的FLASH是用为设计者提供的基于时间轴的工具构建的。Flex是用于构建基于Flash的内容/应用的开发者工具套件。设计者和开发者通过共享两个工具之间的资源能够携手合作。Flex增加了一个全面的组件库:

http://www.adobe.com/go/flex_explorer_app
http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&exc=15&loc=en_us

◆Flex不是为企业/商业应用准备的。

在过去数周里,Ward发布了关于Oracle在AdobeFlex之上实现大量新应用的七篇系列博客文章。这些应用软件近来公布在OracleOpenWorld上,其范围涉及从销售工具到数据库管理和商业智能。

除了Oracle对Flex的使用,InfoQ.com也公布了一些使用Flex开发企业应用的团体。Ward也为InfoQ.com指出了很多使用AdobeFlex开发企业级应用的例子,包括:Workday,SAP,Salesforce和BusinessObjects。

◆Flex太贵。

Ward详述了Adobe所做的一系列努力来消除公众对价格的误解:
Flex是为构建Web和桌面的丰富互联网应用所提供的、免费的开发工具包,并且马上要开源。免费SDK包含了开发者构建RIA应用所需的一切,构建出的RIA应用可在任何浏览器或操作系统上同样工作。免费FlexSDK的一部分部分是一套内容广泛的组件集,其可扩展、可更换皮肤且可访问。你可以在Flex组件资源管理器上看到很多这样的组件:http://www.adobe.com/devnet/flex/samples/code_explorer/

FlexBuilder是一个可选的Eclipse插件,这让使用免费FlexSDK开发应用软件更高效。它包括如集成调试、设计视图和代码补全等功能。

最近也采取了不少办法来调整FlexBuilder的价格。FlexBuilder现正免费提供给学生及教职人员。不带图表组件的vanilla版本FlexBuilder,其价格已降至249美元,以此更好地平衡FlexBuilder的价格等级。

还有许多构建Flex应用后端基础结构的可选项。为了利用高性能AMF数据传输协议,有如LiveCycle数据服务这样的官方Adobe产品,以及如Granite数据服务这样的众多开源项目。使用AMF消除了以下不必要的步骤:从数据转换为文本(SOAP,RESTful等),传送,然后再由文本转换回数据。AMF还允许在线传送中保存类型信息。
关于AMF和其他基于文本序列化技术的比较,请看JamesWard的RIA基准应用系统普查:http://www.jamesward.org/census.

◆Flex的应用程序需要专用服务器。

Ward再次为InfoQ.com讲述:
Flex应用程序可以运行在任何Web服务器,应用服务器和数据库服务器之上。Flex应用程序更像是客户端-服务器应用程序。由于逻辑是运行在FlashPlayer客户端内,你需要某种方式来与服务器交互。你可以有很多不同的选择将Flex连接到你的基础结构。不需要任何专用库,你可以将你的后端数据和服务暴露为RESTful、XML或SOAP,并且很容易在你的Flex应用中消费这些数据。如果选择使用AMF二进制序列化协议,你可能需要添加一些额外的库到你的web应用软件。AMF只是另外一种序列化技术,就如XML或JSON一样,所以它可以作为你用于和后端SOA沟通的多样方式中的一种。

【编辑推荐】

  1. 解析对AdobeFlex的十大误解
  2. Flex3到Flex4的转变新特性值得关注
  3. Flex4Beta引入新元素功能更强大
  4. 学习笔记 Flex和Java整合中如何进行配置
  5. 技术分享 Flex4兼容模式如何移植到发布版本
责任编辑:佚名 来源: javaeye.com
相关推荐

2010-08-11 10:41:22

AdobeFlex

2010-07-27 11:14:34

Flex

2010-08-05 14:43:28

AdobeFlex

2010-08-11 10:32:00

AdobeFlex

2010-08-06 09:11:57

AdobeFlex

2014-02-10 09:12:03

2010-01-15 10:26:08

2009-11-24 20:04:36

PHP常见错误

2010-07-29 17:21:26

AdobeFlex3

2010-07-27 15:42:18

AdobeFlex

2010-07-27 10:48:17

Flex3

2010-08-05 14:51:36

AdobeFlex

2016-10-09 10:29:02

migratelaravelphp

2017-10-10 17:00:11

SparkHadoop数据处理

2015-06-08 13:51:56

WiFi

2015-04-03 09:14:12

软件定义网络SDNGartner

2013-01-05 14:25:27

大数据

2019-04-29 13:22:58

数据保护GDPR数据安全

2023-03-16 14:40:43

光纤数据中心综合布线

2020-11-05 18:53:15

JavaScript开发前端
点赞
收藏

51CTO技术栈公众号