2009年3月14日
#
2009年3月10日
#
自从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的小例子。
2009年3月9日
#
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花开各终端
2007年7月21日
#
2007年7月16日
#
osgi系列已经发表了有将近2年的时间了,很高兴这期间得到了许多朋友的关注,你们和我的讨论切磋都让我兴奋无比。而过去很长的时间里,由于灵感枯竭外加精力有限,不能给大家分享更多osgi的精彩,实在辜负大家的期望,还请谅解。不过,根据这段时间大家和我私下的讨论,发现很多人都苦恼于分不清楚bundle和service的关系,而我的osgi 5-6又臭又长,而且还非常依赖技术,实在是坑害入门者的必备武器。这个不足,犹如头上方圆半尺盘旋的苍蝇,困扰着我,解释的邮件也不知写多少,估计收效甚微。于是我决定再次出山,写一个惊世骇俗的分析文章,力图让更多读者都能够把这两个疯马牛理清楚。
开讲之前,还是用老办法,给大家举个例子。放心,这个例子一点都不技术,而且我相信你可能比我还清楚。大家都知道房地产商是怎么运作楼盘的吧。据我浅显的认识,他们都会先进行一些图纸上的规划,里面包含小区的整体规模,楼房外观以及广大疾苦民众最为关心和渴求的户型图。据说,很多房地产商在搞定政府某些关键部门(个人意见仅供参考)拿到一块地后,根本不用费心思去自己规划这些自己都一窍不通的东西,只要请一个有资质的第三方公司写写画画,甚至照搬某西方发达国家的某社区概念,冠于中国特色云云,就能使广大民众趋之若鹜,倾囊抢购。ok,你可能受不了我又愤世嫉俗了,这个到底和osgi有啥关系?别着急,天色已经很晚,下次某个时间请继续关注osgi(七)续,其间,请大家先考虑一下,如何用ooa的方式来描述人们如何购房,以及在房子里进行日常生活这样的简单场景。
2007年5月14日
#
如果你一直关注osgi在embedded的发展,并且还能到旧金山参加正在举行的java one,那我真是羡慕死你了.
Nokia在她的N800上demo运行了osgi(此消息来源于david beers对BJ在osgi alliance blog上的评论,关于demo可以看这个link http://thehereweb.googlepages.com/)
同时美国运行商Sprint也宣布采用osgi的手机平台将会在年底面世.多么值得期待的事情!
2006年9月16日
#
瞎整了半年多,克服了重重困难,终于把原来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
2006年3月3日
#
前两天,看到Peter的blog里说,由ibm牵头发起了jsr291(
http://www.jcp.org/en/jsr/detail?id=291),
要把osgi的core应用到目前的j2se上,以填补jsr277发布前的需求空白。
osgi和277的pk开始了!我投osgi一票,呵呵,你买谁?
2006年2月16日
#
继开设Blog后(http://www.osgi.org/blog/index.html),昨天OSGi Alliance又宣布开设一个public的mail list,每个对OSGi感兴趣的人都可以加入到这个列表中,通过这个列表可以讯问OSGi的相关的各种问题以及订阅列表的邮件。
请到http://bundles.osgi.org/mailman/listinfo/osgi-dev这里注册。
下面是BJ Hargrave的代表OSGi Alliance发的announcement
Hello,
As part of the OSGi evangelism work, I would like to announce that OSGi now has a new public mail list for OSGi technical questions and discussion. This mail list is a public list and is open to anyone to participate. This new list is mainly for non-members to discuss OSGi technology and ask question about the technology. ......
The new mail list address is:
osgi-dev@bundles.osgi.org
You can subscribe to the list here:
http://bundles.osgi.org/mailman/listinfo/osgi-dev or by sending an e-mail to osgi-dev-subscribe@bundles.osgi.org.
So please go ahead and subscribe to the new osgi-dev mail list. Your participation there can help educate others about the OSGi technology.
BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
2006年2月15日
#
这里是我目前的成果。
http://www.blogjava.net/Files/Ferrari4000/framework.zip包含了framework的jar文件。
解压后,直接运行.bat文件就可以了。这个framework实现了r4core的大部分api(除一些支持local和安全的外,secrurity admin和conditional permission这两个服务也没有实现,url service也没有实现),输入help可以看到可以运行的命令(不过全是英文的,还是我写的,将就一下吧)。
http://www.blogjava.net/Files/Ferrari4000/src.zip包含所有源码。代码有点乱,hoho
要成功编译代码,您还需要下载这个http://www.blogjava.net/Files/Ferrari4000/osgi.rar
解压并后得到4个jar,并把他们放入到build path中,import顺序保证它们优先于jre就可以了。
我打算重新编写了。把framework的实现重新规划一下,然后实现core的所有内容,进而再实现cmpn的所有服务。
如果你对开发osgi framework感兴趣,一起来吧!
给我发信:jerrylee.li@gmail.com