Spaz,Adobe AIR 实现的 Twitter 客户端

  • Jon Rose
  • 郭晓刚

2007 年 10 月 20 日

话题:Java语言 & 开发架构

上周,arstechnica.com 采访了 Spaz 的作者 Ed FinklerSpaz 是一个用 Adobe AIR 平台编写的开源的 Twitter 客户端。在采访中,Finkler 讨论了 Spaz,他选择 AIR 平台的原因,以及将 Spaz 升级到最新的 AIR Beta 2 时遇到的一些挑战。

Twitter是社会网络与博客的结合,让用户通过短信、即时消息和 Email 的方式发送消息。Twitter 迅速拥有了像Barak Obama这样的名人用户。Spaz 客户端利用 Twitter 的 API 提供了在桌面上使用 Twitter 的界面。

访问中最有意思的部分是当 Finkler 谈到选择 AIR 平台的原因。Finkler 认为自己主要是一名 Web 设计师和开发者。他全凭兴趣开始了这个项目,以“回味桌面应用开发”。第一版是用 RealBasic 编写的,Finkler 觉得很不满意:

没什么看头,它确实能完成任务(但除此之外没什么值得提的)。

Finkler 形容自己如何克服重重困难,才能在桌面上实现 Web 应用中轻而易举的事情:

我很快就发现在开发桌面应用的时候,有些在 Web 应用中很简单的事情,到了桌面上就变得极其困难。比如要在帖子旁边显示用户的头像就是很大的挑战,因为你不能简单地命令程序“从这个 URL 把图片抓过来”。浏览网页的时候浏览器为你做的繁重工作现在你都要自己一肩挑起来……

种种困难让 Finkler 在几周之后就放弃了,直到他尝试了“Apollo”(Adobe AIR 当时的开发代号)。Finkler 描述了他在构建第一个原型时的情形:

我的第一次实验用的是 AIR Beta 1,那个应用仅仅是加载和显示 Twitter 的公共时间线,每分钟自动刷新。这个实验完成得太轻松了,部分是因为我用了 Adobe 的 Spry JS Framework,用它来从多个来源抓取数据然后显示成 HTML,简直是小菜一碟。这个原型比最早的 Spaz 好看多了,开发速度也快了不知道多少倍。

……用上 JS 我就驾轻就熟了。AIR 在开发速度和灵活性两方面都是巨大的成功。

Finkler 也提到了 AIR 的一个显著的缺陷。在将 Spaz 与其他 Twitter 客户端相比较的时候,他指出了 AIR 的一个痛处,就是不能原生地与操作系统交互。

Spaz 不容易和 OS X 专有的技术集成(比如与 Growl 集成就没有正常的途径可循),不过 AIR Beta 2 倒是为与 Dock 图标之类的交互开了个口子。

他还详细说明了最近将 Spaz 升级到最新的 AIR 测试版的时候遇到的一些挑战:

最近,我刚把 Spaz 升级到了 AIR Beta 2。版本 0.2.6 虽然只是一个修补兼容性的升级版本,却比我预计的要困难。AIR Beta 2 相比 Beta 1 在 HTML 应用的安全模型上有重大的变动,而这个变动在 Beta 2 公开发布前一两周才加进去。

……我们现在正忙于 0.2.7,并且希望在几天之后发布 0.2.8。

Spaz 看上去是对 AIR 的完美运用,而 Finkler 使用 AIR 的经验也是正面的。现在已经出现了好些吸引人的 AIR 应用程序,不过我们还期望看看,当遇上要求更强的健壮性的应用,开发者们对 AIR 的观感是否仍然与 Finkler 一致。

查看英文原文:Adobe AIR Application: Spaz - a Twitter Client
Java语言 & 开发架构