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