2009年3月9日
#
自從Apple在safari上使用webkit并移植到iphone后,webkit就仿佛是獲得了選秀第一名似的,吸引了眾多眼球。
其實(shí),我最早聽(tīng)說(shuō)webkit是在iphone出來(lái)前一兩年,當(dāng)時(shí)有報(bào)道說(shuō)Nokia正在采用webkit為它下一代的Symbian平臺(tái)做一個(gè)引擎,而且還有專(zhuān)門(mén)的社區(qū),但比較封閉,很難進(jìn)入那個(gè)圈子,讓人一點(diǎn)感覺(jué)沒(méi)有。不過(guò),至少說(shuō)明Nokia很早就盯上這一塊了。
iphone發(fā)布后,Apple似乎就接管webkit了,從此,webkit社區(qū)就有了巨大變化。Apple把能開(kāi)放的東西都放到了webkit社區(qū)里面,速度還相當(dāng)?shù)目欤ㄓ肁pple自己的話說(shuō),他們貢獻(xiàn)了81%的力量,看看webkit社區(qū)的主力開(kāi)發(fā)人員,有多少來(lái)自Apple!)現(xiàn)在,我們時(shí)不時(shí)的可以看到webkit的更新,比如對(duì)html5的跟進(jìn),css的特效等新功能!其中不得不重點(diǎn)提出的是2008年6月2日,webkit社區(qū)發(fā)布了高性能javascript引擎SquirrelFish!9月3日google chrome發(fā)布,采用了V8 javascript引擎,號(hào)稱(chēng)比SquirrelFish還快,兩個(gè)禮拜后webkit就發(fā)布了SquirrelFish Extreme給予正面還擊。巨頭們牟足了勁爭(zhēng)先把javascript引擎油門(mén)踩到底!我不想猜測(cè)他們賣(mài)力的真正原因,但是,我覺(jué)得隨著移動(dòng)終端能力加強(qiáng),javascript大面積攻進(jìn)終端已經(jīng)指日可待了,iphone和android已經(jīng)實(shí)現(xiàn)了。
這期間,由于Apple的快速組合拳,Nokia經(jīng)營(yíng)的webkit專(zhuān)區(qū)很快就倒閉了。但他并沒(méi)有放棄對(duì)webkit的投入,2008年1月28日Nokia宣布收購(gòu)了Trolltech公司。現(xiàn)在Trolltech lab作為Nokia的代表仍然活躍在webkit社區(qū)之中。就前兩天,他們還在http://planet.webkit.org/發(fā)布了一篇標(biāo)題極其引人的博文“Creating a Google chat client in 15 minutes”,為QWebView做了一把廣告,相信qt的粉絲肯定不會(huì)錯(cuò)過(guò)。而本月初發(fā)布的qt4.5中,明確指出qt加強(qiáng)了對(duì)webkit諸如SquirrelFish等新功能的整合。那么就讓我們期待一下Nokia的新款機(jī)器吧。
到此,我們已經(jīng)看到Google, Apple, Nokia, Palm等移動(dòng)終端的領(lǐng)頭羊們所采取的行動(dòng),然而,不要忘記軟件廠商!Adobe就是杰出的代表。作為RIA的強(qiáng)烈倡導(dǎo)者,他也選擇把webkit整合到其AIR平臺(tái),你可以想象這個(gè)webkit+flash的威力有多強(qiáng)大!而Adobe發(fā)起的openscreen項(xiàng)目,更是表明了他要在RIA上爭(zhēng)奪王位的野心!
好了,不啰嗦那么多了,總之呢,webkit已經(jīng)成為移動(dòng)互聯(lián)網(wǎng)這出大戲的主角了,回歸到我在上一篇中提到的主題,讓我們來(lái)研究一下android.webkit.WebView的功能,來(lái)看android上的RIA。
敬請(qǐng)關(guān)注下一篇--使用WebView的小例子。
1年多前,揣著在移動(dòng)終端推廣OSGi的夢(mèng)想,我離開(kāi)了原來(lái)的公司,來(lái)到了一個(gè)自認(rèn)為更利于osgi的地方,在我看來(lái)osgi擁有eRCP這樣的粉絲,應(yīng)該會(huì)給它在移動(dòng)終端上提供廣闊的舞臺(tái)。然而半路殺出個(gè)程咬金,google android!第一次見(jiàn)到它時(shí),我不相信osgi會(huì)輸,于是就廢寢忘食的研究它,結(jié)果我沒(méi)有進(jìn)行太多的抵抗,很快就被Android收編了。我得承認(rèn)它在某些關(guān)鍵的因素,確實(shí)比osgi更適合移動(dòng)終端。對(duì)此,我只能感嘆google開(kāi)源的偉大,以及摒棄jcp的雷厲風(fēng)行!但是,更為重要的是,在移動(dòng)互聯(lián)網(wǎng)時(shí)代即將到來(lái)的時(shí)刻,Android為我們打開(kāi)了一扇方便之門(mén),這到底為何?
通過(guò)對(duì)Android的(java)源碼進(jìn)行掃描后,我看到了像jsr211,MVM這些老朋友的影子,嗯,我可不想再炒這些舊飯了。還有啥?網(wǎng)上熱炒android用了webkit作為其瀏覽器的引擎,和iphone的safari使用的引擎一樣,這個(gè)東西應(yīng)該不錯(cuò),因?yàn)槲乙恢庇X(jué)得eRCP沒(méi)有很好的web控件,使得它在移動(dòng)平臺(tái)上遜色不少,于是我翻到了android.webkit這個(gè)java包,wow! Google給webkit封裝了很多java的接口,這真是java開(kāi)發(fā)人員的福氣,(聽(tīng)說(shuō)很多java開(kāi)發(fā)人員對(duì)sun的javafx期待度最高的就是一個(gè)傳說(shuō)中的JWebView控件,但是不知道出來(lái)沒(méi),算了,我懶得查證了,因?yàn)榘超F(xiàn)在不想浪費(fèi)太多在sun java上,呵呵),不過(guò)我覺(jué)得這更是廣大互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)人員的福氣!想想!用html + css + javascript就能編寫(xiě)android的類(lèi)似電話簿,日歷甚至手機(jī)桌面的應(yīng)用,這難道不讓您浮想聯(lián)翩嗎?所以,如果說(shuō)Android為移動(dòng)終端進(jìn)入互聯(lián)網(wǎng)開(kāi)了一扇門(mén),那么android.webkit.WebView就是這扇門(mén)的金鑰匙,而webkit就是通向互聯(lián)網(wǎng)的康莊大道!
其實(shí)android的webview是一個(gè)極端復(fù)雜的控件,而我個(gè)人認(rèn)為它是可以實(shí)現(xiàn)現(xiàn)在熱炒的RIA/webos等概念的基石!雖然我進(jìn)入這個(gè)領(lǐng)域不長(zhǎng),但覺(jué)得它非常有意思,很有前途,所以我打算寫(xiě)一個(gè)系列,分享對(duì)它的理解,強(qiáng)烈歡迎各位高手指點(diǎn)!
怎么開(kāi)始說(shuō)呢?不知道大家有沒(méi)有注意,年初Palm公司在CES上palm pre的基于webkit的webos驚艷之秀,十足掉起了大家的胃口,這是我聽(tīng)到第一個(gè)冠以webos的移動(dòng)終端,這是不是意味著目前由palm來(lái)唱這個(gè)webos的獨(dú)角戲呢?答案當(dāng)然不是,其實(shí)很多終端廠家以及平臺(tái)廠商很早就率領(lǐng)大部隊(duì)兵臨webos的城下了,相信很快一場(chǎng)硝煙彌漫的戰(zhàn)爭(zhēng)就要開(kāi)始了......
欲知端的,敬請(qǐng)關(guān)注移本系列第二篇--忽如一夜春風(fēng)來(lái),web花開(kāi)各終端