|
【转帖】如果违规请版主删除:)1
- L/ h4 a% P" C# e' J
' c$ m' r- t0 s* r7 N$ t% d采访webOS Twitter客户端Spaz开发者Ed Finkler3 a9 T T' {" R& j
: i( j \4 Z8 F( J' @; G) h" x3 H
Palm的webOS平台伴随着Pre的面世吸引了大量关注。为了解更多业内对webOS优劣势的评价,Ars采访了应用程序开发人员ED Finkler。他开发的twitter客户端Spaz广受欢迎,是Palm App Catalog里面第一批出现的第三方软件。) z/ q4 Y6 U4 J+ F6 h- d
- u6 N5 o7 U- t9 s1 p; u2 S, s9 W, [9 O* K' `( ], O
9 ^: ~% ~" Z) E; `$ o' x1 O% C8 v3 \) u90年代,移动计算的创新王者Palm脱颖而出,定义了手持计算设备的硬件规格,贡献了许多技术概念和UI范例,这些经典的创新仍能在当今最受欢迎的移动设备上看到。如今的Palm也许只剩下黄金时代的残影,但它酝酿着出人意料的复出。
. s8 @0 l3 D# u( w" s+ g; g2 N
7 m/ L; i$ i6 S. g! B2 y) l$ rPalm最新的呕心之作Pre,有潜力帮自己夺回曾经作为创新领导者的声誉。Pre独一无二的操作系统webOS让第三方开发人员得以使用网络技术 (例如HTML和Javascript)来编写与平台融为一体的本地应用软件。借助降低的软件开发门槛和优秀的移动平台,开发人员可以将各种网络应用和 Adobe Air程序带给Pre。5 a* H j7 m) p4 D% C' ?
( B& V c4 M' G. G/ |8 T& ^
虽然概念听上去充满前景,但要做深入的评估并不容易,因为Palm还没有对大众开放开发工具套件。仅有一些被选中的第三方开发人员拿到了官方 SDK(其他人可以用最近的泄密版SDK),他们还必须遵守NDA(保密协议),无法提供更多细节。大部分原因要归咎于SDK和App Catalog(Palm的第三方软件商店)尚不完善,正处于建设当中。) d; Z6 Y4 a) r9 A
( W+ [+ B# @/ Y" @
为得到更多webOS及初期SDK的深入信息,我们从有第一手资料的独立软件开发者ED Finkler入手。Ed Finkler是热门开源twitter客户端Spaz的作者,也是第一批通过App Catalog提供软件的第三方程序员。他介绍了把Spaz引入Pre的种种努力,以及整个过程中的心得体会。Finkler说:
' `- S, G8 a b3 o0 e8 F5 m; B% {7 s! T8 K7 @6 W
“任何一个在浏览器或者AIR/TItanium这类网络运行环境下开发过复杂应用软件的人,用webOS都应该觉得很舒服。适应移动架构中的软件开发方式并不容易,因为功能常常分成不同的几部分,数据还要在之间来回传递。”
% b) V& v3 w& Y' `) Q1 e+ T4 U/ m4 }3 h) A
他说Pre版Spaz并不是由桌面版直接移植得来,而是经过了完全的重写以获得最佳表现。整个过程耗去了他一整个月,这一个月里包括了研究API(程序编程接口)和熟悉平台的时间。
( `/ S/ ]8 k9 M$ r% W$ {
& I& o3 v0 n5 z2 b “基本的东西不难掌握。困难的地方在于让自己过去在网络运行环境下编写程序的方式与webOS的卡片模式相融合。做一次只求运行即可的移植可能会快很多,但要让程序用上本地的系统widget等功能意味着要学会驾驭它。如果我不坚持让程序与webOS保持协调的观感和体验的话,应该能少花不少时间。”
9 [3 M8 }) @7 _) ?5 M9 c
+ ]% D* ^6 q# Q+ ?( V因为NDA尚未过期,Finkler只能谈谈大概的体验,无法讨论API等涉及SDK细节的东西。关于这方面的问题,他希望用自己的代码来说话。Palm允许他公开自己的Spaz程序代码,可以在GitHub找到。希望从事Pre开发的程序员可以从中获益良多,我们这些不属于开发社区的人也能从中一窥webOS程序开发的细节。
1 C$ T% W; R* f. Y) |; L# ~) a8 h0 ?6 T' P+ ~8 n0 K
Spaz HTML主要使用nested div元素和少量Palm特有的attributes。流行的jQuery开源库也被大量用于调整用户界面。这些特性是一个好迹象,说明Pre开发模型有利于现有JavaScript代码的再利用,不会让网络开发人员太过偏离习惯。5 ]9 i- T/ W3 L- g
4 r" I7 {' v" c7 s" O
Finkler说适应YUI, Dojo等流行JavaScript架构的开发人员转向Palm的平台难度非常低。
, s" B* s9 Q- {" ]
6 E; B2 J# a* y. ?7 w, G第三方程序通过一条消息总线(message bus)来使用JavaScript调用平台的底层功能。这意味着第三方webOS程序可以完全调用GPS和相机等硬件功能,也可以调用地址薄和拨号等软件功能。值得一提的是,Palm自己的第一方软件,比如日程等等都由完全相同的技术写成。
9 |# \( E& v2 u2 \. C. ?; ]
* [5 V- t3 {; N9 N9 @Finkler不能具体讨论SDK的细节或是公开第三方开发人员可调用平台功能的具体范围,但他确认Palm的架构已经健壮的足以开发能与Palm 自家软件相媲美的程序。这显然比iPhone SDK出来前Apple的网络widget系统要先进得多。第三方webOS程序不算网络widget,而是使用网络技术开发的完整程序。: V" B; y% d; `! B
4 [- {9 A- e2 e& q9 M M" Qspaz-timeline ]9 Z5 Z2 v* n) P W/ ]
封闭的花园
+ P) h5 ]3 K/ E4 W; ~# _2 r1 ^3 L5 b) G) y# |/ J$ H; A7 _
对于潜在的webOS开发人员来说,一个显著的问题是Palm会不会步上Apple后尘,不友好地对待开发社区——实施严格限制。很多人都希望Palm会更开放、更包容。但根据Palm目前的举动,尤其是NDA来看,情况不容乐观。! z0 l1 ~9 V+ L+ _1 a( J
% v: o% z" B$ T$ V1 t" u! J- J8 a
Finkler争辩说他自己在开发webOS版Spaz期间与Palm接触的经历一直是正面的——他发现Palm代表很帮忙而且非常负责。他认为 Palm公司强制要求签订NDA和限制SDK公开范围出自技术和后勤支持方面的原因而不是哲学理念。他仍对Palm公司在时机成熟时拥抱第三方开发社区保有期望。
, R# J o. g4 d ~# Z7 k: y( G, A. a7 s: V
“我在与Palm合作时从未得出他们不重视第三方开发人员的印象——事实上,基本相反。整个Pre都是新的——新硬件,新系统,新开发工具。无数的新技术。我觉得他们动作很快,很多东西刚刚展开,正因如此他们才没在更广的范围开放SDK。”3 J6 ]+ L8 y( [. t$ y2 T& G- k
. d3 b q: x* H% }/ x# d
尽管他很乐观,但还是说NDA和缺乏透明度显示出一些令人沮丧的问题。像开源软件社区里的很多人一样,他认为开发工作应当强调合作、代码共享。 NDA极大地限制了这些,使他无法得到多方支持。他是唯一一个得到允许在程序发布后公开源代码的人,但他还是不能公开讨论Palm API相关的细节。
7 _( M2 d7 X" m; [( a0 w$ Y# i c u
“我必须得以非常不同于以往的开发方式为webOS写Spaz——再次强调,我不认为他们是不友好,只是尚在探索如何处理。比如说,有些条款不允许我们共享开发中的代码。而我想要的就是尽早与他人共享代码。我希望通过共享代码帮助别人学习,同时也向他们学习。但现在我不能,这让我沮丧。”, {5 O. k" q- i# i
/ A1 d6 U4 M! t6 Z. T' |# N
1 V$ X/ J1 z# @! q* L. J6 J( Q' P6 T4 u& D' I" n
他将Palm看作一家正处在大转型中的公司,待转型完成后可能会对第三方软件开发采取更加宽容的态度。
( E- @4 W) U1 w/ Y+ W; t5 \! n9 t$ \" t( C3 L2 A8 G
“Palm历史上并不是开源公司。我想他们正在探索如何成为一家拥抱开源的公司。我希望Palm能够作出正确的抉择,让自己所用的技术更公开,这正是让HTML+JavaScript程序开发社区能够如此多样而强大的根本。”5 Q! [" y8 |4 S6 N- g4 t/ o
& ]. m8 G3 m$ t Z& b/ }/ v; [Palm程序商店App Catalog目前仅有包括Spaz在内的少量程序,但已有上百万次下载。显然,Pre的用户们正热切希望扩展手机的功能。软件登录App Catalog的流程并不完全明了,但Finkler相信Palm不会像Apple App Store那样,用模糊的政策和前后矛盾的审核流程来折磨开发者。' m' B: O1 S9 ]7 C
* @& u/ f8 \( E8 u& u
) g7 j7 W6 Y% I6 m- ~9 }
“我记得Palm说过自己不会对程序作太细微的限制。我知道自己曾对Apple的处理流程表现出强烈的不满。我认为 Palm不希望重蹈覆辙。在开发者和用户之间有这么个关口相当令人沮丧。Apple并不是太需要第三方支持(或者说不认为自己需要),你得忍受他们弄的那些荒谬的政策。而我觉得Palm知道自己需要第三方支持,因此他们会想办法避免此类问题。”
4 g+ O0 ?0 A( H9 v. Y. m
6 n) f% `: L% L# d面向未来的平台
7 T5 b: A5 n3 B! Z8 e
2 G: {5 V) b" {) P% VFinkler 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.* ^4 n+ z( y' f, z7 O
7 j) ]% V1 J m8 Y% [( xFinkler将webOS看作一个极端现代的,具有竞争力的平台,超越了iPhone操作系统。它更强的软件将在某些地方改变游戏规则。 w# d+ M: R, b6 ^# H
( H) `# }- V) h6 @* d, g
“webOS真的是一个可用性更好、更强大的平台。webOS可以用于多种网络和硬件配置下。这很棒。我觉得webOS会让其它公司认真改善自己的产品。”8 j4 Q% X ?6 F& ^2 p4 U: Y
8 n0 Y# b2 P- P& c& B
他不认同Pre会动摇iPhone的必买地位,但认为智能手机市场还有很多空间留给Palm,多样性对消费者有利。
1 h9 f+ y& w! ?3 B- n7 |; k { j$ z1 G- ?: i: t, w% d
“我不是这方面的专家,但我不觉得它会动摇Apple的用户基础。但我也认同很多更聪明的人所说的,移动市场大的足以容纳多个成功的企业。有选择是件好事,我们应该感到高兴。”
: q& ~$ ]7 Y. r/ a: z/ P3 v2 n g U" ^- l$ l7 h
对他来说,webOS最有吸引力的特性是将网络技术融入移动程序开发的潜力。Palm的平台可能是第一个将HTML和JavaScript提升为第三方开发首选方案的手持设备。Pre将成为这项创新的试验田,并可能推广这一概念。3 F. ?. e; t4 k
9 `8 {8 D4 n* ^* c! m “我觉得从开发人员角度来说最有意思的是,webOS让解释语言成为移动开发的标准之一——特别是网络运行环境。我认为联网程序正越来越普遍,不再局限于浏览器。现在有一个庞大的[网络技术]开发社区和无数的资源,只要CPU和内存达到要求,这就是好点子。”
$ O5 K( q9 Z3 l, ]7 N4 a1 P9 I& L0 y g, u0 s+ z
他的Spaz程序为其他希望在webOS上开发顶尖微博客工具的开发人员提供了一个机遇。完全开源意味着其他人可以学习他的代码并帮助改进。目前,Spaz源代码也是webOS程序中仅有的一个大型公共范例,对新开发人员来说是个学习编写真正webOS软件的好起点。8 ~* E0 U" s3 x2 k& @ C; Q: f0 a4 s
9 `5 ~( E* H7 V6 e, AwebOS在可用性和强大的信息功能方面赢得了很多评测者的赞誉,其中也包括Ars自己的Jon Stokes。Finkler对webOS平台的热情显示出它为程序开发人员,特别是熟悉网络技术的开发人员也提供了很多支持。唯一的问题是Palm会不会让自己的开发程序足够开放和包容,以发挥出webOS平台完全的潜力。
7 P, _. b) o2 p% N e7 k5 j& Z) n& l转录自http://www.ifanr.com/3187
: q/ n! D, k( K
+ m; \6 ]3 }2 ~8 S[ 本帖最后由 304200975 于 2009-7-21 09:59 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
×
|