• 媒体品牌
    爱范儿
    关注明日产品的数字潮牌
    APPSO
    先进工具,先知先行,AIGC 的灵感指南
    董车会
    造车新时代,明日出行家
    玩物志
    探索城市新生活方式,做你的明日生活指南
  • 知晓云
  • 制糖工厂
    扫描小程序码,了解更多

采访 webOS Twitter 客户端 Spaz 开发者 Ed Finkler

公司

2009-07-05 08:00

Palm 的 webOS 平台伴随着 Pre 的面世吸引了大量关注。为了解更多业内对 webOS 优劣势的评价,Ars 采访了应用程序开发人员 ED Finkler。他开发的 twitter 客户端 Spaz 广受欢迎,是 Palm App Catalog 里面第一批出现的第三方软件。

By Ryan Paul from Ars Technica | Logout, Akanekou 译,转载请保留 iFanr 原文链接。
spaz-top-thumb-640xauto-6718

90 年代,移动计算的创新王者 Palm 脱颖而出,定义了手持计算设备的硬件规格,贡献了许多技术概念和 UI 范例,这些经典的创新仍能在当今最受欢迎的移动设备上看到。如今的 Palm 也许只剩下黄金时代的残影,但它酝酿着出人意料的复出。

Palm 最新的呕心之作 Pre,有潜力帮自己夺回曾经作为创新领导者的声誉。Pre 独一无二的操作系统 webOS 让第三方开发人员得以使用网络技术 (例如 HTML 和 Javascript) 来编写与平台融为一体的本地应用软件。借助降低的软件开发门槛和优秀的移动平台,开发人员可以将各种网络应用和 Adobe Air 程序带给 Pre。

虽然概念听上去充满前景,但要做深入的评估并不容易,因为 Palm 还没有对大众开放开发工具套件。仅有一些被选中的第三方开发人员拿到了官方 SDK(其他人可以用最近的泄密版 SDK),他们还必须遵守 NDA(保密协议),无法提供更多细节。大部分原因要归咎于 SDK 和 App Catalog(Palm 的第三方软件商店) 尚不完善,正处于建设当中。

为得到更多 webOS 及初期 SDK 的深入信息,我们从有第一手资料的独立软件开发者 ED Finkler 入手。Ed Finkler 是热门开源 twitter 客户端 Spaz 的作者,也是第一批通过 App Catalog 提供软件的第三方程序员。他介绍了把 Spaz 引入 Pre 的种种努力,以及整个过程中的心得体会。Finkler 说:

“任何一个在浏览器或者 AIR/TItanium 这类网络运行环境下开发过复杂应用软件的人,用 webOS 都应该觉得很舒服。适应移动架构中的软件开发方式并不容易,因为功能常常分成不同的几部分,数据还要在之间来回传递。”

他说 Pre 版 Spaz 并不是由桌面版直接移植得来,而是经过了完全的重写以获得最佳表现。整个过程耗去了他一整个月,这一个月里包括了研究 API(程序编程接口)和熟悉平台的时间。

“基本的东西不难掌握。困难的地方在于让自己过去在网络运行环境下编写程序的方式与 webOS 的卡片模式相融合。做一次只求运行即可的移植可能会快很多,但要让程序用上本地的系统 widget 等功能意味着要学会驾驭它。如果我不坚持让程序与 webOS 保持协调的观感和体验的话,应该能少花不少时间。”

因为 NDA 尚未过期,Finkler 只能谈谈大概的体验,无法讨论 API 等涉及 SDK 细节的东西。关于这方面的问题,他希望用自己的代码来说话。Palm 允许他公开自己的 Spaz 程序代码,可以在 GitHub 找到。希望从事 Pre 开发的程序员可以从中获益良多,我们这些不属于开发社区的人也能从中一窥 webOS 程序开发的细节。

Spaz HTML 主要使用 nested div 元素和少量 Palm 特有的 attributes。流行的 jQuery 开源库也被大量用于调整用户界面。这些特性是一个好迹象,说明 Pre 开发模型有利于现有 JavaScript 代码的再利用,不会让网络开发人员太过偏离习惯。

Finkler 说适应 YUI, Dojo 等流行 JavaScript 架构的开发人员转向 Palm 的平台难度非常低。

第三方程序通过一条消息总线(message bus)来使用 JavaScript 调用平台的底层功能。这意味着第三方 webOS 程序可以完全调用 GPS 和相机等硬件功能,也可以调用地址薄和拨号等软件功能。值得一提的是,Palm 自己的第一方软件,比如日程等等都由完全相同的技术写成。

Finkler 不能具体讨论 SDK 的细节或是公开第三方开发人员可调用平台功能的具体范围,但他确认 Palm 的架构已经健壮的足以开发能与 Palm 自家软件相媲美的程序。这显然比 iPhone SDK 出来前 Apple 的网络 widget 系统要先进得多。第三方 webOS 程序不算网络 widget,而是使用网络技术开发的完整程序。

spaz-timeline

封闭的花园

对于潜在的 webOS 开发人员来说,一个显著的问题是 Palm 会不会步上 Apple 后尘,不友好地对待开发社区——实施严格限制。很多人都希望 Palm 会更开放、更包容。但根据 Palm 目前的举动,尤其是 NDA 来看,情况不容乐观。

Finkler 争辩说他自己在开发 webOS 版 Spaz 期间与 Palm 接触的经历一直是正面的——他发现 Palm 代表很帮忙而且非常负责。他认为 Palm 公司强制要求签订 NDA 和限制 SDK 公开范围出自技术和后勤支持方面的原因而不是哲学理念。他仍对 Palm 公司在时机成熟时拥抱第三方开发社区保有期望。

“我在与 Palm 合作时从未得出他们不重视第三方开发人员的印象——事实上,基本相反。整个 Pre 都是新的——新硬件,新系统,新开发工具。无数的新技术。我觉得他们动作很快,很多东西刚刚展开,正因如此他们才没在更广的范围开放 SDK。”

尽管他很乐观,但还是说 NDA 和缺乏透明度显示出一些令人沮丧的问题。像开源软件社区里的很多人一样,他认为开发工作应当强调合作、代码共享。NDA 极大地限制了这些,使他无法得到多方支持。他是唯一一个得到允许在程序发布后公开源代码的人,但他还是不能公开讨论 Palm API 相关的细节。

“我必须得以非常不同于以往的开发方式为 webOS 写 Spaz——再次强调,我不认为他们是不友好,只是尚在探索如何处理。比如说,有些条款不允许我们共享开发中的代码。而我想要的就是尽早与他人共享代码。我希望通过共享代码帮助别人学习,同时也向他们学习。但现在我不能,这让我沮丧。”

他将 Palm 看作一家正处在大转型中的公司,待转型完成后可能会对第三方软件开发采取更加宽容的态度。

“Palm 历史上并不是开源公司。我想他们正在探索如何成为一家拥抱开源的公司。我希望 Palm 能够作出正确的抉择,让自己所用的技术更公开,这正是让 HTML+JavaScript 程序开发社区能够如此多样而强大的根本。”

Palm 程序商店 App Catalog 目前仅有包括 Spaz 在内的少量程序,但已有上百万次下载。显然,Pre 的用户们正热切希望扩展手机的功能。软件登录 App Catalog 的流程并不完全明了,但 Finkler 相信 Palm 不会像 Apple App Store 那样,用模糊的政策和前后矛盾的审核流程来折磨开发者。

“我记得 Palm 说过自己不会对程序作太细微的限制。我知道自己曾对 Apple 的处理流程表现出强烈的不满。我认为 Palm 不希望重蹈覆辙。在开发者和用户之间有这么个关口相当令人沮丧。Apple 并不是太需要第三方支持(或者说不认为自己需要),你得忍受他们弄的那些荒谬的政策。而我觉得 Palm 知道自己需要第三方支持,因此他们会想办法避免此类问题。”

面向未来的平台

Finkler views webOS as an extremely modern and competitive platform, one that beats Apple’s iPhone operating system. It’s better software, he says, and it’s going to change the game in some ways.

Finkler 将 webOS 看作一个极端现代的,具有竞争力的平台,超越了 iPhone 操作系统。它更强的软件将在某些地方改变游戏规则。

“webOS 真的是一个可用性更好、更强大的平台。webOS 可以用于多种网络和硬件配置下。这很棒。我觉得 webOS 会让其它公司认真改善自己的产品。”

他不认同 Pre 会动摇 iPhone 的必买地位,但认为智能手机市场还有很多空间留给 Palm,多样性对消费者有利。

“我不是这方面的专家,但我不觉得它会动摇 Apple 的用户基础。但我也认同很多更聪明的人所说的,移动市场大的足以容纳多个成功的企业。有选择是件好事,我们应该感到高兴。”

对他来说,webOS 最有吸引力的特性是将网络技术融入移动程序开发的潜力。Palm 的平台可能是第一个将 HTML 和 JavaScript 提升为第三方开发首选方案的手持设备。Pre 将成为这项创新的试验田,并可能推广这一概念。

“我觉得从开发人员角度来说最有意思的是,webOS 让解释语言成为移动开发的标准之一——特别是网络运行环境。我认为联网程序正越来越普遍,不再局限于浏览器。现在有一个庞大的 [网络技术] 开发社区和无数的资源,只要 CPU 和内存达到要求,这就是好点子。”

他的 Spaz 程序为其他希望在 webOS 上开发顶尖微博客工具的开发人员提供了一个机遇。完全开源意味着其他人可以学习他的代码并帮助改进。目前,Spaz 源代码也是 webOS 程序中仅有的一个大型公共范例,对新开发人员来说是个学习编写真正 webOS 软件的好起点。

webOS 在可用性和强大的信息功能方面赢得了很多评测者的赞誉,其中也包括 Ars 自己的 Jon Stokes。Finkler 对 webOS 平台的热情显示出它为程序开发人员,特别是熟悉网络技术的开发人员也提供了很多支持。唯一的问题是 Palm 会不会让自己的开发程序足够开放和包容,以发挥出 webOS 平台完全的潜力。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

关注电子阅读、任何有趣的设备、IC 以及“历史的草稿”,相信移动设备与互联网的结合正促成近百年来最重要的一次变革。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容