2006年9月16日
#
自从Apple在safari上使用webkit并移植到iphone后,webkit就仿佛是获得了选秀第一名似的,吸引了众多眼球。
其实,我最早听说webkit是在iphone出来前一两年,当时有报道说Nokia正在采用webkit为它下一代的Symbian平台做一个引擎,而且还有专门的社区,但比较封闭,很难进入那个圈子,让人一点感觉没有。不过,至少说明Nokia很早就盯上这一块了。
iphone发布后,Apple似乎就接管webkit了,从此,webkit社区就有了巨大变化。Apple把能开放的东西都放到了webkit社区里面,速度还相当的快(用Apple自己的话说,他们贡献了81%的力量,看看webkit社区的主力开发人员,有多少来自Apple!)现在,我们时不时的可以看到webkit的更新,比如对html5的跟进,css的特效等新功能!其中不得不重点提出的是2008年6月2日,webkit社区发布了高性能javascript引擎SquirrelFish!9月3日google chrome发布,采用了V8 javascript引擎,号称比SquirrelFish还快,两个礼拜后webkit就发布了SquirrelFish Extreme给予正面还击。巨头们牟足了劲争先把javascript引擎油门踩到底!我不想猜测他们卖力的真正原因,但是,我觉得随着移动终端能力加强,javascript大面积攻进终端已经指日可待了,iphone和android已经实现了。
这期间,由于Apple的快速组合拳,Nokia经营的webkit专区很快就倒闭了。但他并没有放弃对webkit的投入,2008年1月28日Nokia宣布收购了Trolltech公司。现在Trolltech lab作为Nokia的代表仍然活跃在webkit社区之中。就前两天,他们还在http://planet.webkit.org/发布了一篇标题极其引人的博文“Creating a Google chat client in 15 minutes”,为QWebView做了一把广告,相信qt的粉丝肯定不会错过。而本月初发布的qt4.5中,明确指出qt加强了对webkit诸如SquirrelFish等新功能的整合。那么就让我们期待一下Nokia的新款机器吧。
到此,我们已经看到Google, Apple, Nokia, Palm等移动终端的领头羊们所采取的行动,然而,不要忘记软件厂商!Adobe就是杰出的代表。作为RIA的强烈倡导者,他也选择把webkit整合到其AIR平台,你可以想象这个webkit+flash的威力有多强大!而Adobe发起的openscreen项目,更是表明了他要在RIA上争夺王位的野心!
好了,不啰嗦那么多了,总之呢,webkit已经成为移动互联网这出大戏的主角了,回归到我在上一篇中提到的主题,让我们来研究一下android.webkit.WebView的功能,来看android上的RIA。
敬请关注下一篇--使用WebView的小例子。
1年多前,揣着在移动终端推广OSGi的梦想,我离开了原来的公司,来到了一个自认为更利于osgi的地方,在我看来osgi拥有eRCP这样的粉丝,应该会给它在移动终端上提供广阔的舞台。然而半路杀出个程咬金,google android!第一次见到它时,我不相信osgi会输,于是就废寝忘食的研究它,结果我没有进行太多的抵抗,很快就被Android收编了。我得承认它在某些关键的因素,确实比osgi更适合移动终端。对此,我只能感叹google开源的伟大,以及摒弃jcp的雷厉风行!但是,更为重要的是,在移动互联网时代即将到来的时刻,Android为我们打开了一扇方便之门,这到底为何?
通过对Android的(java)源码进行扫描后,我看到了像jsr211,MVM这些老朋友的影子,嗯,我可不想再炒这些旧饭了。还有啥?网上热炒android用了webkit作为其浏览器的引擎,和iphone的safari使用的引擎一样,这个东西应该不错,因为我一直觉得eRCP没有很好的web控件,使得它在移动平台上逊色不少,于是我翻到了android.webkit这个java包,wow! Google给webkit封装了很多java的接口,这真是java开发人员的福气,(听说很多java开发人员对sun的javafx期待度最高的就是一个传说中的JWebView控件,但是不知道出来没,算了,我懒得查证了,因为俺现在不想浪费太多在sun java上,呵呵),不过我觉得这更是广大互联网应用开发人员的福气!想想!用html + css + javascript就能编写android的类似电话簿,日历甚至手机桌面的应用,这难道不让您浮想联翩吗?所以,如果说Android为移动终端进入互联网开了一扇门,那么android.webkit.WebView就是这扇门的金钥匙,而webkit就是通向互联网的康庄大道!
其实android的webview是一个极端复杂的控件,而我个人认为它是可以实现现在热炒的RIA/webos等概念的基石!虽然我进入这个领域不长,但觉得它非常有意思,很有前途,所以我打算写一个系列,分享对它的理解,强烈欢迎各位高手指点!
怎么开始说呢?不知道大家有没有注意,年初Palm公司在CES上palm pre的基于webkit的webos惊艳之秀,十足掉起了大家的胃口,这是我听到第一个冠以webos的移动终端,这是不是意味着目前由palm来唱这个webos的独角戏呢?答案当然不是,其实很多终端厂家以及平台厂商很早就率领大部队兵临webos的城下了,相信很快一场硝烟弥漫的战争就要开始了......
欲知端的,敬请关注移本系列第二篇--忽如一夜春风来,web花开各终端
osgi系列已经发表了有将近2年的时间了,很高兴这期间得到了许多朋友的关注,你们和我的讨论切磋都让我兴奋无比。而过去很长的时间里,由于灵感枯竭外加精力有限,不能给大家分享更多osgi的精彩,实在辜负大家的期望,还请谅解。不过,根据这段时间大家和我私下的讨论,发现很多人都苦恼于分不清楚bundle和service的关系,而我的osgi 5-6又臭又长,而且还非常依赖技术,实在是坑害入门者的必备武器。这个不足,犹如头上方圆半尺盘旋的苍蝇,困扰着我,解释的邮件也不知写多少,估计收效甚微。于是我决定再次出山,写一个惊世骇俗的分析文章,力图让更多读者都能够把这两个疯马牛理清楚。
开讲之前,还是用老办法,给大家举个例子。放心,这个例子一点都不技术,而且我相信你可能比我还清楚。大家都知道房地产商是怎么运作楼盘的吧。据我浅显的认识,他们都会先进行一些图纸上的规划,里面包含小区的整体规模,楼房外观以及广大疾苦民众最为关心和渴求的户型图。据说,很多房地产商在搞定政府某些关键部门(个人意见仅供参考)拿到一块地后,根本不用费心思去自己规划这些自己都一窍不通的东西,只要请一个有资质的第三方公司写写画画,甚至照搬某西方发达国家的某社区概念,冠于中国特色云云,就能使广大民众趋之若鹜,倾囊抢购。ok,你可能受不了我又愤世嫉俗了,这个到底和osgi有啥关系?别着急,天色已经很晚,下次某个时间请继续关注osgi(七)续,其间,请大家先考虑一下,如何用ooa的方式来描述人们如何购房,以及在房子里进行日常生活这样的简单场景。
如果你一直关注osgi在embedded的发展,并且还能到旧金山参加正在举行的java one,那我真是羡慕死你了.
Nokia在她的N800上demo运行了osgi(此消息来源于david beers对BJ在osgi alliance blog上的评论,关于demo可以看这个link http://thehereweb.googlepages.com/)
同时美国运行商Sprint也宣布采用osgi的手机平台将会在年底面世.多么值得期待的事情!
瞎整了半年多,克服了重重困难,终于把原来framework做了更新,如果有兴趣,还可以按照原来的Link下载。
framework下载后,解压并运行startframework.bat就可以启动framework了。
目前该framework只支持在内存中存储bundle.
另外,多增加了一个管理bundle,它为framework提供了简单的图形化操作界面,可以在这里下载。
http://www.blogjava.net/Files/Ferrari4000/bundlemanagement.zip
下载后,最好先把名字改为bundlemanagement.jar
然后可以这样安装,假设该文件下载到d:\bundles下,则可以在framework的shell下输入
in file:d:/bundles/bundlemanagement.jar
安装该bundle,安装成功后输入stt 1(注意:1是数字一),启动该bundle就可以出现图形操作界面了。
图形界面提供bundle的安装(只支持本地安装),启动,停止,升级和删除等简单功能。
其他功能会在后面陆续增加。目前这个bundle只能运行在j2se环境下。
给的源代码没有很好的build文件,等我有时间了,再写一个。
感谢毕嘉兄弟的支持,他帮助设计了bundle存储模块以及实现了bundle在内存存储的第一版。
有啥问题,可以直接给我发邮件,jerrylee.li@gmail.com