大量新生移動(dòng)設備的興起,改變了互聯(lián)網(wǎng)的未來(lái)。在技術(shù)的發(fā)展上,HTML5會(huì )取代App應用嗎?或者說(shuō)能夠在多大程度上取代呢?在HTML5規范中,已經(jīng)加入了相機、磁力羅盤(pán)、GPS信息的支持。很多新興瀏覽器也已經(jīng)開(kāi)始支持這些新特性。能否用一個(gè)統一的HTML5來(lái)替代android和ios并行開(kāi)發(fā)的雙重成本呢?以下譯自Michael Mahemoff的一篇文章,詳細分析了HTML5能否取代Android和iOS應用程序。 介紹 移動(dòng)應用程序(App)和HTML5都是目前最火的技術(shù),二者之間也有不少重疊之處。在移動(dòng)設備瀏覽器里運行的html5的web頁(yè)面,也可以重新打包成不同平臺上運行的app。目前很多瀏覽器都有很好的跨平臺支持,(譯注:firefox居然可以在android中使用和windows下同樣的瀏覽器內核),HTML5的web方案,對開(kāi)發(fā)者來(lái)說(shuō)更為方便。完成一次,即可多平臺使用。但這確實(shí)可行嗎?仍然有許多必要原因,使得開(kāi)發(fā)者選擇了app開(kāi)發(fā)。很明顯,很多人已經(jīng)在這么做了。本文將詳細分析兩種方案的優(yōu)劣。 功能豐富 正方:App里可以開(kāi)發(fā)出更豐富的功能 我們把移動(dòng)功能分成兩類(lèi)。程序本身和程序與系統的結合。比如android里,加入widget圖標或者通知提醒之類(lèi)的。App對這兩者都沒(méi)問(wèn)題。不用多說(shuō),這是肯定的。 反方:APP是挺強,但Web也正在迎頭跟進(jìn) 確實(shí)很多原生app實(shí)現的功能是HTML5望塵莫及的。不管你的web做的再牛,如果停留在一個(gè)沒(méi)有攝像頭支持的沙盒中,很多場(chǎng)合還是玩不轉。幸運的是,現在沒(méi)有這樣的沙盒限制了。如果你需要你的web照相片,可以做一個(gè)負責照像的app,再把你的web打包進(jìn)這個(gè)應用里面。開(kāi)源的PhoneGap框架是這么干的。這樣widget,手機提醒也都沒(méi)問(wèn)題了。 但這種混合開(kāi)發(fā)的問(wèn)題在于,增加了復雜性,而且不象傳統web那樣可以直接在瀏覽器里運行。這個(gè)問(wèn)題短時(shí)間內恐怕沒(méi)轍。好在現在網(wǎng)絡(luò )標準在不斷的高速擴充,先進(jìn)的瀏覽器也在一直跟進(jìn)。Android 3.1已經(jīng)支持camera了。iOS瀏覽器也支持WebSocket和設備方向檢測了。 總得來(lái)說(shuō),移動(dòng)設備在發(fā)展,而web也同樣在快速變化。桌面瀏覽器本身,有5家主要瀏覽器開(kāi)發(fā)商在改進(jìn)現有標準,豐富新的功能。所以原生App在快速前進(jìn),同時(shí),web也在縮小差距。 運行效率 正方:原生APP速度更快 原生APP沒(méi)有瓶頸,而且可以直接調用GPU加速、使用多線(xiàn)程。 反方:現如今Web已經(jīng)快多了,而且多數應用也用不著(zhù)那么快。 這說(shuō)法有點(diǎn)落伍了。Chrome發(fā)布之時(shí)帶來(lái)的Javascript V8,給Web速度帶來(lái)的飛躍。而現在,計算速度變得更快了:
圖片處理引擎已經(jīng)使用web加速?,F在硬件加速也已經(jīng)開(kāi)始應用了??纯从蒙嫌布铀俚腸anvas(圖表來(lái)源)
HTML5能取代Android和iOS應用程序嗎? 要開(kāi)發(fā)3D游戲的就不用抬杠了,但對于平而來(lái)說(shuō),新聞、郵件、時(shí)間管理、社交網(wǎng)絡(luò ),這些用Web都夠用了。試試Steve Souders的手機性能測試工具。 另外,越來(lái)越多的框架結合WebGL,可以發(fā)揮OpenGL的優(yōu)勢了。比如ImpactJS,幫助開(kāi)發(fā)JS游戲。