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://m.tkk7.com/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://m.tkk7.com/Files/Ferrari4000/framework.zip包含了framework的jar文件。
解壓后,直接運行.bat文件就可以了。這個framework實現了r4core的大部分api(除一些支持local和安全的外,secrurity admin和conditional permission這兩個服務也沒有實現,url service也沒有實現),輸入help可以看到可以運行的命令(不過全是英文的,還是我寫的,將就一下吧)。
http://m.tkk7.com/Files/Ferrari4000/src.zip包含所有源碼。代碼有點亂,hoho
要成功編譯代碼,您還需要下載這個http://m.tkk7.com/Files/Ferrari4000/osgi.rar
解壓并后得到4個jar,并把他們放入到build path中,import順序保證它們優先于jre就可以了。
我打算重新編寫了。把framework的實現重新規劃一下,然后實現core的所有內容,進而再實現cmpn的所有服務。
如果你對開發osgi framework感興趣,一起來吧!
給我發信:jerrylee.li@gmail.com