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