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

在本月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 SDK和Flash Builder 4 Beta 2等!

你可能感兴趣的:(QClub之Flash活动总结:日臻完善的Flex和AIR)