|
要是有侵犯这里书籍版权的问题,请告知,我尽快删去文章。我已经给treo8做广告啦:): k& G. M6 F0 T: O7 F, ?
2 O9 M1 ^+ X/ l6 D
http://www.evan129.com/2009/06/1 ... e-webos-developmen/
& ]4 x. x7 e. a这个题目好像起得大了点儿。北京又下雨,闲来无事,找了treo8里提供的webOS开发的英文原版书出来看了下。o’Reilly出名,质量保证,在Palm开发者网站上有免费提供第一章。这书据说是网友自己买来的,我不确定是不是对外都能看到并下载。
; }9 E" O8 }# M, n* h! W9 o4 Q& |- s E
书里讲的还是比较入门的,概括来说,只讲了三方面内容 UI控件(3章),数据存储(1章),还有系统服务的调用(2章)。如预想的一样,完完全全的html开发,加上mojo。不能说我完全没做过html的开发,连js/dom我都还算是知道并写过些代码的。不过毕竟不是专长,也不是喜欢的方向,所以像mojo这种框架,我也是知道webOS后才知道的。个人是不太喜欢写html的,我也说不上来原因,总觉得为了页面布局的,总要反反复复调,不如做其它程序的GUI时来得干脆。可行方式又太多,总让你想不停去优化它。不过webOS毕竟是手机用的,总还是有不同的,看了书里一点点示例代码,相比起一些网页程序,总觉得还是清爽许多。毕竟一屏撑死也就放得下十来行按钮而已,又没有网页左左右右,上上下下的拖拉,布局该是容易多的。控件都是用<div />标签来定义的,如<div id=”my-toggle” x-mojo-element=”ToggleButton”></div>这种方式指定控件类型。突然想到,这上面自己的扩展不少,不知道开发环境里的代码补全是否好用。现在的新平台看起来可真雷同。控件这些和Android好像大同小异,连List设置adapter这些都让我觉得大方向上差不多。对List里面的某行,设置模板,就好像android上对ListAdapter.getView时,一般从一个资源里直接创建,就和模板一样嘛。( T$ Y7 N: ]- W& M0 e6 R, U
2 Y1 Y+ z! o8 y: H7 i9 |
数据存储可以用cookie,Depot和HTML 5 storage方式,cookie和Depot都是存简单数据的,虽然上面说Depot可以存5M的数据。比较有意思的是,Depot存取数据时是异步的,这个好像我还没见过。文档里面对HTML 5 storage只提了一个openDatabase API,甚至连怎么建表都没提。不过给了个链接(http://dev.w3.org/html5/webstorage/#databases),这东西我也之后再琢磨吧。看起来也是sqlite之类的实现。不知道性能怎么样。数据访问这章还提及了Ajax来和web server交换数据。 k; V3 H4 H2 D( }% W+ l
" y% t5 x$ c$ P# w& Q系统服务这些比如提了怎么调用phone程序打电话,怎么查看一个联系人,怎么出个联系人选择对话框。本来我也觉得和Android上的 Intent方式看起来挺像。不过有意思的是,在调用时,可以设置onSuccess和onFailure的回调函数。至少从结构上来看,方式是不同的。 Android上用onActivityResult来处理调用后的结果。这两章还提及了像系统alarm service怎么用一类的。还有”Cloud Service”,很有噱头的名字。里面有个palm service叫palm://com.palm.pubsubservice,看起来和Apple家那个notification center好像是类似的主意吧。我不知道大家是同时都想到了呢,还是抄的呢?
/ u H. G: n7 E1 f' b& a0 A( J, F! Y- R, A3 e: y+ Z- _# }) }0 A# u% a6 r5 R
很可惜的是,没有其它更深入的一些资源,比如没提及过native code怎么写。像classic模拟器那种自绘的View怎么做,难道用HTML代码生绘出来的?我可不信。。更加没有提及有没有输入法框架一类的。3 k( D+ c! o; v- q) d
- |7 ~$ k" |* V. b. z' e期待Palm Pre SDK出来,到时再来给大家提供新情报。 |
|