2007年7月16日
#
自從Apple在safari上使用webkit并移植到iphone后,webkit就仿佛是獲得了選秀第一名似的,吸引了眾多眼球。
其實(shí),我最早聽說webkit是在iphone出來前一兩年,當(dāng)時(shí)有報(bào)道說Nokia正在采用webkit為它下一代的Symbian平臺(tái)做一個(gè)引擎,而且還有專門的社區(qū),但比較封閉,很難進(jìn)入那個(gè)圈子,讓人一點(diǎn)感覺沒有。不過,至少說明Nokia很早就盯上這一塊了。
iphone發(fā)布后,Apple似乎就接管webkit了,從此,webkit社區(qū)就有了巨大變化。Apple把能開放的東西都放到了webkit社區(qū)里面,速度還相當(dāng)?shù)目欤ㄓ肁pple自己的話說,他們貢獻(xiàn)了81%的力量,看看webkit社區(qū)的主力開發(fā)人員,有多少來自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)稱比SquirrelFish還快,兩個(gè)禮拜后webkit就發(fā)布了SquirrelFish Extreme給予正面還擊。巨頭們牟足了勁爭(zhēng)先把javascript引擎油門踩到底!我不想猜測(cè)他們賣力的真正原因,但是,我覺得隨著移動(dòng)終端能力加強(qiáng),javascript大面積攻進(jìn)終端已經(jīng)指日可待了,iphone和android已經(jīng)實(shí)現(xiàn)了。
這期間,由于Apple的快速組合拳,Nokia經(jīng)營(yíng)的webkit專區(qū)很快就倒閉了。但他并沒有放棄對(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ò)過。而本月初發(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)這出大戲的主角了,回歸到我在上一篇中提到的主題,讓我們來研究一下android.webkit.WebView的功能,來看android上的RIA。
敬請(qǐng)關(guān)注下一篇--使用WebView的小例子。
1年多前,揣著在移動(dòng)終端推廣OSGi的夢(mèng)想,我離開了原來的公司,來到了一個(gè)自認(rèn)為更利于osgi的地方,在我看來osgi擁有eRCP這樣的粉絲,應(yīng)該會(huì)給它在移動(dòng)終端上提供廣闊的舞臺(tái)。然而半路殺出個(gè)程咬金,google android!第一次見到它時(shí),我不相信osgi會(huì)輸,于是就廢寢忘食的研究它,結(jié)果我沒有進(jìn)行太多的抵抗,很快就被Android收編了。我得承認(rèn)它在某些關(guān)鍵的因素,確實(shí)比osgi更適合移動(dòng)終端。對(duì)此,我只能感嘆google開源的偉大,以及摒棄jcp的雷厲風(fēng)行!但是,更為重要的是,在移動(dòng)互聯(lián)網(wǎng)時(shí)代即將到來的時(shí)刻,Android為我們打開了一扇方便之門,這到底為何?
通過對(duì)Android的(java)源碼進(jìn)行掃描后,我看到了像jsr211,MVM這些老朋友的影子,嗯,我可不想再炒這些舊飯了。還有啥?網(wǎng)上熱炒android用了webkit作為其瀏覽器的引擎,和iphone的safari使用的引擎一樣,這個(gè)東西應(yīng)該不錯(cuò),因?yàn)槲乙恢庇X得eRCP沒有很好的web控件,使得它在移動(dòng)平臺(tái)上遜色不少,于是我翻到了android.webkit這個(gè)java包,wow! Google給webkit封裝了很多java的接口,這真是java開發(fā)人員的福氣,(聽說很多java開發(fā)人員對(duì)sun的javafx期待度最高的就是一個(gè)傳說中的JWebView控件,但是不知道出來沒,算了,我懶得查證了,因?yàn)榘超F(xiàn)在不想浪費(fèi)太多在sun java上,呵呵),不過我覺得這更是廣大互聯(lián)網(wǎng)應(yīng)用開發(fā)人員的福氣!想想!用html + css + javascript就能編寫android的類似電話簿,日歷甚至手機(jī)桌面的應(yīng)用,這難道不讓您浮想聯(lián)翩嗎?所以,如果說Android為移動(dòng)終端進(jìn)入互聯(lián)網(wǎng)開了一扇門,那么android.webkit.WebView就是這扇門的金鑰匙,而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),但覺得它非常有意思,很有前途,所以我打算寫一個(gè)系列,分享對(duì)它的理解,強(qiáng)烈歡迎各位高手指點(diǎn)!
怎么開始說呢?不知道大家有沒有注意,年初Palm公司在CES上palm pre的基于webkit的webos驚艷之秀,十足掉起了大家的胃口,這是我聽到第一個(gè)冠以webos的移動(dòng)終端,這是不是意味著目前由palm來唱這個(gè)webos的獨(dú)角戲呢?答案當(dāng)然不是,其實(shí)很多終端廠家以及平臺(tái)廠商很早就率領(lǐng)大部隊(duì)兵臨webos的城下了,相信很快一場(chǎng)硝煙彌漫的戰(zhàn)爭(zhēng)就要開始了......
欲知端的,敬請(qǐng)關(guān)注移本系列第二篇--忽如一夜春風(fēng)來,web花開各終端
osgi系列已經(jīng)發(fā)表了有將近2年的時(shí)間了,很高興這期間得到了許多朋友的關(guān)注,你們和我的討論切磋都讓我興奮無比。而過去很長(zhǎng)的時(shí)間里,由于靈感枯竭外加精力有限,不能給大家分享更多osgi的精彩,實(shí)在辜負(fù)大家的期望,還請(qǐng)諒解。不過,根據(jù)這段時(shí)間大家和我私下的討論,發(fā)現(xiàn)很多人都苦惱于分不清楚bundle和service的關(guān)系,而我的osgi 5-6又臭又長(zhǎng),而且還非常依賴技術(shù),實(shí)在是坑害入門者的必備武器。這個(gè)不足,猶如頭上方圓半尺盤旋的蒼蠅,困擾著我,解釋的郵件也不知寫多少,估計(jì)收效甚微。于是我決定再次出山,寫一個(gè)驚世駭俗的分析文章,力圖讓更多讀者都能夠把這兩個(gè)瘋馬牛理清楚。
開講之前,還是用老辦法,給大家舉個(gè)例子。放心,這個(gè)例子一點(diǎn)都不技術(shù),而且我相信你可能比我還清楚。大家都知道房地產(chǎn)商是怎么運(yùn)作樓盤的吧。據(jù)我淺顯的認(rèn)識(shí),他們都會(huì)先進(jìn)行一些圖紙上的規(guī)劃,里面包含小區(qū)的整體規(guī)模,樓房外觀以及廣大疾苦民眾最為關(guān)心和渴求的戶型圖。據(jù)說,很多房地產(chǎn)商在搞定政府某些關(guān)鍵部門(個(gè)人意見僅供參考)拿到一塊地后,根本不用費(fèi)心思去自己規(guī)劃這些自己都一竅不通的東西,只要請(qǐng)一個(gè)有資質(zhì)的第三方公司寫寫畫畫,甚至照搬某西方發(fā)達(dá)國(guó)家的某社區(qū)概念,冠于中國(guó)特色云云,就能使廣大民眾趨之若鶩,傾囊搶購(gòu)。ok,你可能受不了我又憤世嫉俗了,這個(gè)到底和osgi有啥關(guān)系?別著急,天色已經(jīng)很晚,下次某個(gè)時(shí)間請(qǐng)繼續(xù)關(guān)注osgi(七)續(xù),其間,請(qǐng)大家先考慮一下,如何用ooa的方式來描述人們?nèi)绾钨?gòu)房,以及在房子里進(jìn)行日常生活這樣的簡(jiǎn)單場(chǎng)景。