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