|
要是有侵犯这里书籍版权的问题,请告知,我尽快删去文章。我已经给treo8做广告啦:)/ E& M9 b& Z5 g# l6 ?4 p( H
2 u- u; P {* b# m( ~% h. _
http://www.evan129.com/2009/06/1 ... e-webos-developmen/ _2 {% C8 B( B
这个题目好像起得大了点儿。北京又下雨,闲来无事,找了treo8里提供的webOS开发的英文原版书出来看了下。o’Reilly出名,质量保证,在Palm开发者网站上有免费提供第一章。这书据说是网友自己买来的,我不确定是不是对外都能看到并下载。$ S! w- X x# E0 c
3 ]6 h9 H' E) U5 V1 q书里讲的还是比较入门的,概括来说,只讲了三方面内容 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时,一般从一个资源里直接创建,就和模板一样嘛。
/ l# @' F; F9 v+ J6 P' o8 D4 c" H% V; H, R$ `
数据存储可以用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交换数据。
. S# \" i0 A3 O* @$ w( D2 e9 Q
4 e3 D1 }" I3 b3 O3 k+ f- U5 o系统服务这些比如提了怎么调用phone程序打电话,怎么查看一个联系人,怎么出个联系人选择对话框。本来我也觉得和Android上的 Intent方式看起来挺像。不过有意思的是,在调用时,可以设置onSuccess和onFailure的回调函数。至少从结构上来看,方式是不同的。 Android上用onActivityResult来处理调用后的结果。这两章还提及了像系统alarm service怎么用一类的。还有”Cloud Service”,很有噱头的名字。里面有个palm service叫palm://com.palm.pubsubservice,看起来和Apple家那个notification center好像是类似的主意吧。我不知道大家是同时都想到了呢,还是抄的呢?& e2 C; Z0 J" e3 d# z2 z4 V
, m' ^: F) D& }+ R4 Z
很可惜的是,没有其它更深入的一些资源,比如没提及过native code怎么写。像classic模拟器那种自绘的View怎么做,难道用HTML代码生绘出来的?我可不信。。更加没有提及有没有输入法框架一类的。+ t L% S O, S9 @$ v
$ |7 D) c2 J* |6 o% A( Q
期待Palm Pre SDK出来,到时再来给大家提供新情报。 |
|