天天看點

H5能取代移動app(Android和iOS)嗎?

大量新生移動裝置的興起,改變了網際網路的未來。在技術的發展上,HTML5會取代App應用嗎?或者說能夠在多大程度上取代呢?在HTML5規範中,已經加入了相機、磁力羅盤、GPS資訊的支援。很多新興浏覽器也已經開始支援這些新特性。能否用一個統一的HTML5來替代android和ios并行開發的雙重成本呢?

移動應用程式(App)和HTML5都是目前最火的技術,二者之間也有不少重疊之處。在移動裝置浏覽器裡運作的html5的web頁面,也可以重新打包成不同平台上運作的app。目前很多浏覽器都有很好的跨平台支援,HTML5的web方案,對開發者來說更為友善。完成一次,即可多平台使用。但這确實可行嗎?仍然有許多必要原因,使得開發者選擇了app開發。很明顯,很多人已經在這麼做了。

功能豐富上

很多原生app實作的功能是HTML5望塵莫及的。不管你的web做的再牛,如果停留在一個沒有攝像頭支援的沙盒中,很多場合還是玩不轉。幸運的是,現在沒有這樣的沙盒限制了。如果你需要你的web照相片,可以做一個負責照像的app,再把你的web打包進這個應用裡面。

但這種混合開發的問題在于,增加了複雜性,而且不象傳統web那樣可以直接在浏覽器裡運作。這個問題短時間内恐怕沒轍。好在現在網絡标準在不斷的高速擴充,先進的浏覽器也在一直跟進。Android 3.1已經支援camera了。iOS浏覽器也支援WebSocket和裝置方向檢測了。

總得來說,移動裝置在發展,而web也同樣在快速變化。桌面浏覽器本身,有5家主要浏覽器開發商在改進現有标準,豐富新的功能。是以原生App在快速前進,同時,web也在縮小差距。

開發上

原生APP使用強壯的程式語言(Java, Objective C, C++)。适合寫複雜程式,經過曆史驗證,API豐富。在桌面環境可以友善的用模拟器測試。而Web程式的runtimes和亂七八糟的各路浏覽器讓人頭大

使用者體驗上

使用者希望在你的程式裡,用與系統連貫統一的方式來操作。不同的平台,都有一些約定俗成的習慣。比如長按按鈕會有啥反應。你不能指望用一套統一的HTML5 App去滿足所有使用者。此外,整個平台的操作感受都由用平台自有的軟體庫協調。直接調用平台工具包就能直接免費獲得完整支援。

測試上

對app測試和H5測試來說,就測試項并沒有什麼差別,主要都是終端機的配飾問題,但一樣的是,app有安裝、啟動等步驟,相對簡單。但在UI自動化測試,功能周遊測試并沒什麼不一樣。

總結

現在還看不出完勝的一方。有些應用适合做app,有一些适合用html5。目前的情況,原生APP肯定是一個很重要的選擇。上面提到的混合式開發,可能是一個不錯的妥協方案。能用web的時候用app調用web。web實作不了的功能用app開發。