群雄逐鹿移動Web開發(fā)標(biāo)準(zhǔn) 禍及Web開發(fā)人員
原創(chuàng)【51CTO快譯自10月19日外電頭條】上星期我一直在思考Adobe為什么想要大力的推廣Flash把它定位為移動設(shè)備的平臺,它面臨著一場艱苦的戰(zhàn)斗,尤其是要把Flash應(yīng)用編譯成二進(jìn)制文件來在iPhone上運行。Open Web標(biāo)準(zhǔn)似乎為今天的智能手機指明了更好的開發(fā)目標(biāo),但移動網(wǎng)絡(luò)卻顯然還沒有做好準(zhǔn)備,而根本上的問題就在于可擴展性。
當(dāng)開發(fā)者們談?wù)摽蓴U展性的時候,他們通常想的只是怎樣擴展。也就是說,當(dāng)負(fù)載不斷增加的時候,所開發(fā)的應(yīng)用能不能有效的利用一切現(xiàn)有資源來滿足需求?在這點上Web應(yīng)用一直做的不錯(只要有良好的編碼),而且不斷的技術(shù)進(jìn)步使它們越做越好。
而移動設(shè)備投入進(jìn)來后,開發(fā)者面臨著一個全新的挑戰(zhàn)。現(xiàn)在,他們考慮的應(yīng)用需要縮小,要在移動設(shè)備上提供最接近于桌面應(yīng)用的體驗,卻要同時面對低處理能力、屏幕分辨率、網(wǎng)絡(luò)帶寬和存儲容量的挑戰(zhàn)。這是一件棘手的事,不只是針對Java和Flash這樣的運行時,對移動Web開發(fā)標(biāo)準(zhǔn)來說更是前所未有的挑戰(zhàn)。
Google引領(lǐng)的全新移動Web開發(fā)標(biāo)準(zhǔn)
問題不只是小屏幕和各種古怪的輸入設(shè)備,Web 2.0的推出進(jìn)一步拉開了差距。在手持設(shè)備的瀏覽器仍在琢磨怎樣才能正確顯示HTML的時候,桌面瀏覽器卻已經(jīng)忙著以全新的方式擴大Web的角色,在這方面沒有比Google做的更積極的。
例如Chrome瀏覽器,Google并不滿足于跟上目前主流瀏覽器的發(fā)展腳步,所以他們拿出了自己的HTML引擎,在遵守網(wǎng)絡(luò)標(biāo)準(zhǔn)的同時放棄了一些Web早期的傳統(tǒng)想法。在最新的進(jìn)展中,Chrome竟然可以把自己作為一個插件在低于兼容標(biāo)準(zhǔn)的IE 6中運行,此舉引發(fā)競爭對手的大量爭論。
同樣至關(guān)重要的是Chrome的V8 JavaScript引擎,Google坦承如今的Web應(yīng)用需要向外擴展,因此更應(yīng)該從客戶端那里多獲取一些處理能力來減輕服務(wù)器的負(fù)擔(dān)。Chrome的JavaScript表現(xiàn)激發(fā)了其他競爭對手不斷的加速自己的JavaScript引擎。
不過Google并沒有就此停步。它帶來了Google Gears,進(jìn)一步加速JavaScript并且可以將Web應(yīng)用數(shù)據(jù)存儲在本地客戶端。最能體現(xiàn)Google 的“向外擴展”精神的是Native Client,允許瀏覽器通過網(wǎng)絡(luò)執(zhí)行原始的x86二進(jìn)制文件。
Google的每一項技術(shù)都是改變桌面瀏覽器角色的一步。在Google的眼中瀏覽器不只是用于顯示W(wǎng)eb內(nèi)容的瘦客戶端,它是一個Web應(yīng)用系統(tǒng)的積極參與者,能夠與服務(wù)器共享用戶界面、存儲甚至數(shù)據(jù)處理工作。
移動瀏覽器跟不上腳步
我們可以說桌面Web應(yīng)用已經(jīng)快走到Web 2.5時代了,這是偉大的進(jìn)展,但移動領(lǐng)域卻大體上還處在Web 1.0的世界。相對于Chrome等桌面瀏覽器,如今的智能手機瀏覽器還像是小孩子的玩具。它們的確越做越好,但想要在手機上達(dá)到桌面瀏覽器的Web體驗還仍然是一個遙遠(yuǎn)的夢想。
從HTML的渲染開始,移動設(shè)備的屏幕尺寸仍然是一個問題,雖然現(xiàn)代的網(wǎng)絡(luò)標(biāo)準(zhǔn)已經(jīng)讓針對不同外形的編碼工作變得更加容易,然而真正嚴(yán)格執(zhí)行標(biāo)準(zhǔn)的手機瀏覽器卻數(shù)量很少,WebKit技術(shù)可以提供一些幫助,然而即使執(zhí)行WebKit的瀏覽器還存在不同程度的差異,更何況還有很多不用WebKit的手機。
JavaScript是另一個問題,比如我的黑莓手機的JavaScript性能就總是讓人搖頭。運營商們想必也不喜歡無休止的彈出“腳本運行出現(xiàn)問題”的消息框,因此很多手機在出售時JavaScript功能默認(rèn)是關(guān)閉的。蘋果的iPhone OS 3.0操作系統(tǒng)提升了JavaScript性能,但只能說是略有改善,你仍要面對在運行Flash或Java時處理能力不足的問題。Google的Gears技術(shù)可以用在Android操作系統(tǒng)上,但到哪里找到另一臺Android手機呢?你需要好運氣。
開發(fā)者可以支持兩種移動Web開發(fā)標(biāo)準(zhǔn)嗎?
總之,當(dāng)桌面上的Web體驗正隨著技術(shù)改進(jìn)不斷的向外擴展時,移動的Web體驗其實比起十年前的桌面好不到哪去。現(xiàn)代Web應(yīng)用的開發(fā)中使用的客戶端技術(shù)越先進(jìn),桌面Web和移動Web的差距就越大。
為了滿足移動瀏覽器的需求,開發(fā)者需要思考如何縮減他們的應(yīng)用,怎樣重新使用最古老最基本的網(wǎng)絡(luò)技術(shù)。不過,在很多時候這意味著要專門為移動的用戶重寫單獨的界面。而結(jié)果是什么呢?桌面和移動,兩個獨立的開發(fā)軌道,這和WAP手機剛出現(xiàn)時的情況幾乎沒有什么不同。如果你喜歡的話可以稱之為機會,但我要說這是一個潛在的浪費。
原文作者:Neil McAllister
原文標(biāo)題:The sad state of the mobile Web gets even sadder
【編輯推薦】