|
*注: 这篇文章于8月21日首发于JavaEye. 现在转发到ifanr上, 并补充一些内容
1 }8 K: w6 X# E0 ]6 X5 e2 W/ {% z
. t: D" S! z5 @6 F( hPalm Pre的发行曾经是相当的轰轰烈烈, 然而, 3个月不到时间, Palm似乎已经后续乏力, webOS作为一个现代移动操作系统, 是否是昙花一现呢? 本文通过本人的亲身体验, 写写个人对webOS, Palm Pre的心得.
+ r1 k1 ]0 @. s# e( ~# [) e" {1 E0 o) x2 v! C( ?$ I5 c
webOS是基于linux, 在内部有个java的服务器, 把底层的事件和信息传递给Mojo这个Palm SDK的框架. 这种架构, 和一些通用的JavaScript库很相似, 比如PhoneGap, QuickConnect, Rhodes这些, 用JavaScript来做和底层沟通的桥梁, 以获取一些系统底层的信息, 比如经纬度的GPS地址, 加速器的x,y,z值, 摄像头, 等等. 不过这种架构也有很明显的限制, 比如, 传输的速度, 比起native method call, 会慢很多. 比如在Pre上面加速器的值. Pre上面一秒钟只能读到4次值(4Hz), 而iPhone上可以达到100Hz. 一些比较依赖精度的应用, 特别是游戏, 使用效果上会差很多.% N5 { U$ j0 \3 ~$ D
" v! ^. ~) B' j
Palm最近开始努力吸引游戏开发者:5 D! W5 _ q4 }+ G5 S/ E( a
Palm Game Developer Cafe
9 o3 d' _# W: T4 Q) ?; H M1 X1 T. X但没有原生的SDK支持, 没有Open GL的access, 想做出像样的游戏, 几乎是不可能的.
0 G: a% V' v9 T4 [: s$ A* Q0 V我前段时间看了下webOS上webkit对Canvas的支持, 有很多库和接口都没实现.
& F! N) C. b$ w% u1 H c( U7 r' @& d. m$ z) z2 @6 g
Palm SDK是基于HTML5, CSS, 和JavaScript的web标准, 他们的主要框架是Mojo(基于prototype). 典型的MVC风格, 和rails很像, 包括assistants,controllers,models和views这四大部分. 对于web开发者来说, 是很友好的. 所以, 可以说会开发web MVC模式的程序员, 上手Palm webOS应该是很顺手的. 因为webOS顾名思义是基于web的OS.
- n7 o- {: F8 N4 j; N% r g- e& X4 S2 E% b6 @
* [5 Z( `7 }) Z
但Palm对自己的webOS可能是另外一种定义. 下面是Palm一个产品经理给我的email里的一句话:/ m z. X; u# T7 F5 P/ j: n7 t- d/ n
Have an appealing design and user interface aligned with Palm UI guidelines and optimized for webOS (i.e., not a “browser” app)% k5 M: @0 \" ^; |2 F" v
什么意思? 全盘颠覆自己的基础吗? webOS的app就是web app/browser app, 除了Palm特定的几个UI widget而已. 而且, 你还可以做出比Palm更漂亮的widget. Palm这种意识是在抄袭Apple的iPhone, 想用自己的特定UI来绑定一批用户群. 但Palm大概是高估了自己对用户的吸引力. 毕竟Palm没有Apple一批死忠粉丝. 你老老实实把webOS做好就行了, 不要好高骛远, 你还根本不是Apple iPhone OS的对手.9 T; H- }+ M" R1 {: j
5 N* r) R) p! _* h. E
最近据说Palm在做软键盘:- |! h+ @0 D/ W% n- c
Palm Pre屏幕键盘的最新进展
8 [ }9 m* M7 c" P5 j" k: f
/ B K& |1 i2 {3 |" a4 v' _请先看下这篇报道:
5 ?- k1 r F% c; [虚拟键盘深入对比评测:iPhone VS Android9 O9 d7 |) n9 f; H# {
% |* O' C: W% I
Palm, 在3.1寸的屏幕上搞软键盘, 是无论如何都搞不过3.5寸的! 把精力花到其他需要的地方吧.
3 f/ f8 L* t& D: R( ^3 l% A o1 z+ k
: A$ v! X3 R2 sMojo框架中, 缺少了一个很重要的API: 地图
$ M) t1 ]" }& g! B) ^$ F
2 X* ?/ x8 f# T: d" @(注: iPhone SDK 3.0中才正式支持内置地图的API) 地图结合GPS的应用, 再加上SNS, 是个非常hot的开发趋势. Palm的webOS竟然没有地图API. 要开发地图应用就直接拿google的map API v2或者v3. 当然, 还要写很多代码, 而且, 速度很挺慢的. 把google的map API内置会有这么难吗?; }" a3 Q8 b4 |3 }& Q: h1 r) \
# |" f9 y& {* W/ c) `( j最后, 一个很让人棘手的问题, 就是大家可以很方便的进入Palm Pre的系统, 只要启动developer mode (密码是经典的任天堂 上上下下左右左右BASTART ), 然后安装免费的Palm webOS SDK, 然后接起USB数据线, 去到SDK里的novaterm, 然后… 你就可以看见webOS里面的一切, 包括所有安装的app, 还有app的原代码!# @7 {5 h- o$ U# P
) {3 x+ R: X" Z' D" s8 K# _webOS的app其实就是一个功能完善的网站. 所以一旦安装app, 所有的css, html, js, image, 都在你的掌握之中. 现在的网站, 如果你不知道网站的结构话, 想一次性下完网站的所有代码, 是件非常困难的事情. 好了, Palm提供了一个绝佳的机会, 让你一击下载网站代码. 我在自己安装的app里就发现很多API的key, 登录的一些信息, 等等. 对于一个开发者来说, 如果不是开源项目的话, 是很忌讳自己辛苦开发的代码, 被其他人自由浏览. 在这点上, 如果Palm不能给出一个合理的安排的话, 我想近期是没有什么兴趣开发webOS的app的. 最起码android和iphone app是编译过的, 提供了初步保护. webOS这种赤裸裸的把你的代码开放, 有点让人难以接受.1 G/ A2 w$ X5 o1 f5 X# r I
% H- r# X; s" s4 k' ?* v6 y' o) d* o {5 A; @
7月份iPhone 3Gs的发布, 直接冲击了Palm Pre建立起来的momentum. Palm如果不能在短期之内发布一批重量级的app, 如果不能在10月份之前发布第二款基于webOS的手机的话, 我们有理由相信, Palm对Apple的战役已经以失败告终. 如果webOS不会以android那样可以授权其他手机厂家的话, webOS会注定只能成为一种niche OS. 一种geek们津津乐道, 玩家们hack得很高兴的OS, 但远不能占据主流的移动手机OS的地位.
" I1 L6 e, d+ D/ ?* i- f( X1 O# ~7 e' K, \: l9 D) D2 c
希望Palm加油, 但时间… 已然不多…
r, Q7 I% f0 s$ [' a7 E9 v* \ R8 I( t
[ Edited by gemoney on 2009-10-23 13:17 ] |
|