InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

QClub之Flash活动总结:日臻完善的Flex和AIR

作者 霍泰稳 发布于 2009年11月30日

领域
运维 & 基础架构,
语言 & 开发
主题
Java ,
安装 ,
富客户端/桌面 ,
RIA
标签
Adobe ,
Adobe集成运行时/AIR ,
Flex ,
Flash ,
QClub

在本月21日举行的QClub北京活动上,来自Adobe的曹金明和RIAMeeting的郭少瑞与现场的一百多位技术人员,分别讨论了Flex 4 SDK的新特性,和AIR中的几个实用功能。

在以前InfoQ发布的几篇对Flex和Flash的介绍中,如《Flex 4的十大变化》、《Flash Builder 4 beta中五个重要的新特性》和《使用Flash Builder 4 beta进行以数据为中心的开发》等,已经详细介绍了在Flex 4和Flash Builder最新版本中所增加的新特性。在活动现场,曹金明结合实例对这些新特性做了更形象的介绍,尤其是MXML 2009、FXG和Spark组件体系等:

  • MXML 2009:MXML 2009包含了大量更新以对不同的行为(核心、皮肤和布局)进行解耦,同时还提供了新的组件库。为使Flex 4的组件能够在其自己的包中(spark.components)得以实现,同时又不对Flex 3的组件进行任何变更,MXML 2009专门提供了一个新的命名空间。
  • FXG支持:Adobe在Flash Player 10中引入了FXG,现在又将其引入到了Flex中。FXG是个声明式的图形格式,可以在工具间传递内容,这意味着设计者可以在Catalyst或CS4 Illustrator中创建内容,接下来Flex应用开发者就可以将其导入并使用而无需修改任何内容。
  • Spark组件架构:Flex 4的底层组件架构名为Spark,而在Flex 3中则叫做Halo。为了支持Catalyst,Flex 4更新了底层的组件模型以达到松耦合的目的。在新的Spark组件模型中,核心逻辑、皮肤以及布局都被分开了,这样我们就能单独处理其中任意一部分而又不会影响到其他部分。Spark组件模型构建于 Halo组件模型之上,这意味着Spark扩展了Halo的核心基类UIComponent,这样我们就能以增量的方式使用Flex 4,同时还能将Flex 3组件应用在Flex 4应用中。

在12月2日广州举行的奥多比开发者技术日上(现在依然可以报名),众多来自Adobe和社区的专家将会与与会者继续分享RIA开发相关的话题,比如Flash平台最新动态、RIA和开放平台、Spring ActionScript与Cairngorm框架的结合开发技巧等。

Adobe AIR完整入门与开发实录》作者郭少瑞主要是结合实践介绍了AIR中的几个实用功能,比如桌面拖拽、本地数据库、本地文件系统、安装方式和在线更新等:

  • 桌面拖拽:拖拽这种在操作系统以及桌面软件中已经司空见惯的交互形式,却成了Web应用难以逾越的鸿沟,虽然不管是Ajax还是Flex都有内部对于拖拽的实现,但与本地文件系统之间由于浏览器的安全限制,无法实现拖拽的操作。这一点到了AIR里面就不是问题了,AIR本身就运行于桌面端,具备操作系统登录用户的权限,当然也就包括对本地文件系统的访问,基于AIR所提供的API,我们可以使用拖拽的方式将应用与本地文件系统联系起来,像常见的拖拽打开文件,导出文件等等都可以实现。
  • 本地数据库:离线存储也是Web应用难以实现的一个方面,而AIR则提供了两种存储方式:文件存储和本地数据库。本地数据库实际上就是SQLite,AIR运行时内置了这个小型数据库,使用它来完成一些数据的存储工作基本够用了。
  • 本地文件系统:AIR提供一系列API以支持本地文件系统的操作,包括文件的增删改,目录的创建与删除等等,这样无论我们是希望使用文件存储系统数据,还是导出用户所需的数据格式到一个文件,AIR都可以满足这些需求。
  • 安装方式:在应用的部署和安装上,AIR也是独具特色,可以说即具备桌面软件的特性(本地集成安装包,发放给用户,双击安装包完成安装),也具备WEB应用快速部署的优势(在线的集成无缝安装),我们将分别探讨一下这两种方式。
  • 在线更新:软件不可能是一成不变的,当你的软件发布之后,很可能接下来面对的问题就是升级和更新的问题,如果设计的时候没考虑到这个因素,那你的麻烦就大了,AIR也提供了一些版本判断和更新的机制,使用它可以非常方便的实现在线的软件更新。

在RIAMeeting网站上,郭少瑞已经公布了现场演讲的PPT和示例源代码,感兴趣的读者可以移步浏览。本次活动照片为QClub Beijing - Flickr,随后InfoQ将发布本次QClub活动的视频。本次活动相关技术的软件,InfoQ已经独家提供下载:Flex 4 SDKFlash Builder 4 Beta 2等!

霍泰稳 是InfoQ中文站的联合创始人兼总编辑,有多年的软件开发经验和媒体从业经历。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。