ActionScript是基于ECMAScript(JavaScript)的脚本语言。 在Adobe Flash player平台上,使用像Adobe Flash Studio、Adobe Flex和Adobe AIR这样的RIA authoring工具时,往往需要使用ActionScript。当RIA技术在web应用程序开发领域迅猛发展的时候,ActionScript随之开始得到软件开发社区越来越多的重视。尽管多数著名的Web2.0公司和大部分Web mash-up各自的用户界面都选用AJAX来构建,但同一领域里,在众多开源项目的支持下,ActionScript呈显著增长趋势。
InfoQ在这里采撷了其中一些为几个重大的Web2.0和电子商务公司所开发的开源ActionScrip类库一览究竟。
MySpace 开发平台 (ActionScript类库)
本周(2008年2月4日),期待已久且引人争议的MySpace 开发平台终于投入使用。作为世界最大的社交网,该平台的投入使用对Web平台来说是一个重大的、新的扩展。除了传统的JavaScript和REST 接口之外,该开发平台还包含了一个ActionScript类库。通过该类库,Flash和Flex的开发人员可以立马着手为MySpace平台创建RIA应用程序。同时MySpace平台通过它本身的一些扩展,保持与Google的OpenSocial相兼容,但OpenSocial却仍然在考虑开发它自身的ActionScript接口。
Facebook F8 平台 (ActionScript API)
MySpace的竞争对手Facebook曾花了一年的时间致力于投放他们的F8开发平台。之后,Jason Chrst开发了一个开源Facebook ActionScript类库并将其置于Google Code。这个ActionScript3.0 API提供了Facebook REST API和基于Flash/Flex的应用程序之间的接口。正如项目所描述的那样:
该开源ActionScript3类库是在Adobe Flex2的基础上开发的,但在Adobe Flash 9 或者 Flex 3环境下同样可以使用。该API允许开发人员创建桌面应用程序、网站应用程序、或是集成到Facebook网站的应用程序。
Amazon S3(ActionScript类库)
Amazon S3 (简单存储服务)是Amazon AWS(Amazon网络服务)的一部分,主要提供在线存储服务。在Google code上的ActionScript类库as3awss3lib正是为了与Amazon S3交互而开发的类库,此类库同时还依赖于另外两个S3 ActionScript类库:As3Crypto和As3corelib。
eBay 平台(ActionScript类库)
eBay的ActionScript 3.0类库——as2ebaylib——为eBay XML API和基于Flash/Flex的应用程序之间提供了一个接口。该类库也可以从Google Code上下载:
这个开源类库将允许开发人员利用eBay交易市场服务(marketplace service)和Adobe Flash Player 9运行时创建新颖的、创新的应用程序。该类库使用ActionScript3.0编写,所以任何使用了ActionScript 3.0的环境都能使用该类库,包括Adobe Flex 2 和 Adobe Flash Pro 9。
Flickr(ActionScript类库)
Flickr作为一个Web 2.0旗舰公司,提供了一组访问其平台的接口。除了Google地图以外,Flickrs是Web开发人员最喜爱的mesh-up Web平台。Flickr服务在最初就凭借它本身的视觉特性在Flash开发社区获得了很多开发人员的贡献。ActionScript 3.0类库——as3flickrlib就是一个例子。该ActionScript类库提供了访问整个Flickr API的方法。
YouTube(ActionScript类库)
YouTube很早就使用Flash技术来分发它的视频。由Charles Bihis、Mike Potter、Darron Schall和Daniel Dura共同开发的ActionScript 3.0类库——as3youtubelib,允许Flash/Flex应用程序从YouTube搜索视频。
Yahoo! ASTRA(ActionScript 类库)
Yahoo的Flash开发员中心开发了针对Flash平台的API。ASTRA Web API包括提供对Yahoo各项Web服务进行访问的ActionScript类库。据Yahoo所述:
Yahoo! AS3 API类库是便于从Flex和Flash访问Yahoo! Web API的一组封装工具。这些类库在Yahoo!服务器所使用的通讯协议之上创建一个抽象层,这帮助Flash和Flex的开发人员在发送和接收数据时不再需要额外的数据解析。AS3类库安装很简单,并且所有可访问的方法都有详细的文档。这些类库都开源,可以在BSD许可下使用这些源代码。
ASTRA Web API为Yahoo! Answers、Yahoo! Weather、Yahoo! Search、Yahoo! Upcoming以及Yahoo!地图通讯提供ActionScript 3.0类库。
Google地图(ActionScript API)
目前仍处于beta版本的ActionScript 3.0 Google地图API——UMap,是由AF Components所开发的。AF Components这样描述UMap:
它是一个和Google地图集成的世界ActionScript 3.0地图API,可伸缩的组件模型使得你可以创建拥有交互式数据层的“富”地图。我们具有灵活的API可以帮助开发者建立完全自定义的解决方案。
- 对自定义地图片(map tile)和地图供应者提供支持
- 更新的加载算法以更快地加载地图片
- Flash/Flex版本
- 支持KML
- 高级内容分层
- 基于FLA-B的地图控制
- 向量图形叠加
- 扩展的信息窗口风格
Web地图服务(Google、Microsoft VE和Yahoo)(ActionScript API)
Shane McCartney为主要的网络地图平台——Google Maps、Microsoft Virtual Earth和Yahoo Map开发了ActionScript 2.0 API。
Twitter(ActionScript 3 API)
Twitter——micro blogging及lifestream的新兴公司,宣布去年它主要的网络流量来自于Twitter API。除了将REST API作为Web服务的末端以外,Twitter还提供了ActionScript 2 和ActionScript 3 工具箱,以便让开发者从基于Flash的应用程序访问它的平台。除了官方Twitter API外,还有像SWX Twitter接口这样的第三方接口类库也支持Flash和Flash Lite。另外,还有一些类似的新兴公司,比如Pownce,同样也为它自身的平台开发了ActionScript 3.0 类库 。
Digg (Flash工具箱)
社会新闻新兴应用程序Digg提供一个平台API来访问它自身内容。开源项目Digg Flash工具箱是ActionScript 3.0类的一个集合。Digg实验室曾通过案例显示使用这个Flash工具箱可以被用来构建Digg数据的可视化。
Last.fm音乐(ActionScript类库)
Last.fm是最大的Web 2.0社交音乐胜地之一。在Last.fm的大部分可用数据可以通过Audocrobbler Web服务API以多种格式被使用。Last.fm的ActionScript 3.0类库——lastfm-as3是一个开放源码的类库。该开源项目这样描述这个类库:
这是一个可以访问所有可用Last.fm Web服务的ActionScript 3.0 API。我们希望它能够通过解析feeds和对Last.fm所能提供的所有数据进行分类的工作来减少人工。这个项目正在进行中,所以目前尚不能提供所有的服务。
上文所列出的ActionScript类库只是冰山一角,是在Web 2.0平台上开发RIA mash-up应用程序的ActionScript资源的一个子集而已。ActionScript开发仍将继续进行,这些新的开发将同时来自于RIA开发人员的贡献和技术供应商的更新。去年(2007年11月),Adobe将ActionScript虚拟机的源代码捐献给Mozilla基金会。Mozilla目前拥有一个称为Tamarin的新开源项目,Adobe也将继续使用该项目成果,Tamarin会被作为Adobe Flash播放器中ActionScript虚拟机的一部分而投入使用。同时,Mozilla也会在嵌于Firefox中的JavaScript引擎——SpiderMonkey中使用Tamarin虚拟机。ActionScript正逐渐发展成一个成熟的应用程序开发语言。
InfoQ将继续对RIA领域中新的开发成果做即时报道。