Native App VS Web App--花開兩朵,各有短長
移動互聯網的發展正如火如荼,app浪潮方興未艾,潮人們都變成了拇指控,天天忙著下載應用。作為IT從業者,我們應該做到看山不是山,看水不是水的禪境,看到app不應只停留在表面,更應深入思考它是如何設計、如何開發、如何運行。
目前的智能移動平臺,無論是iphone、android,還是wp7、webos,都為我們的app開發提供了兩條路,一條是native app,一條是web app。我們在開發時該走那條路?要想搞清楚這個問題,我們先來分析分析兩條路有些什么區別。
native app
native app是指使用移動平臺開發語言(ios為objective-c,android為java)+移動平臺SDK來開發的軟件包。
native app的優點:
可以充分發揮系統特性(調用系統服務、內存管理等),操控設備硬件(如相機、藍牙、振動器等)
可提供***的用戶體驗,***質的用戶界面,最華麗的交互
可訪問本地資源
與web app相比,性能更好,交互流暢(尤其是復雜應用)
可節省帶寬成本
native app的缺點:
各平臺開發語言、sdk和開發環境不同,學習成本高
各平臺不兼容,多平臺的開發、移植比較復雜,開發成本高,開發周期長
針對多種設備(不同分辨率、不同硬件配置等)的調試和適配較麻煩,開發成本高,開發周期長
維持多個版本的成本比較高
從目前來看,native app雖然開發成本較高、周期較長,但因為它可以自由操控硬件、充分發揮平臺特性、提供***的體驗,所以絕大多數移動應用都是native app模式。這也證明了業界以用戶體驗為中心的思想得到了堅決貫徹,寧可設計人員、開發人員累點,也要提供***的體驗。
web app
web app是指使用web標準技術(html、css、javascript)開發的針對移動設備優化的網站,我們可以使用一些工具(如phonegap)將網站封裝成各平臺的軟件包,使其看起來像是一個native app,但它的本質仍然是一個運行在瀏覽器中的網站。
web app的優點:
使用web標準技術,學習成本和開發成本低
可兼容多平臺(實際上是兼容瀏覽器),適配多平臺多設備的成本低
開發周期快,維護成本低
無需安裝,也可使用
web app的缺點:
無法充分發揮系統特性(調用系統服務、內存管理等),無法操控設備硬件(如相機、藍牙、振動器等)
< 短期內web app提供的交互體驗無法與native app媲美
對于復雜應用,web app受限于瀏覽器,性能不佳。
無法訪問本地資源
你可以說html5是未來,web app是未來趨勢,但現在的情況是,只有少部分app是使用web app模式開發的,web app還不能勝任復雜應用和手機游戲。要想在體驗和性能上媲美native app,要想像native app那樣訪問硬件和本地資源,web app還有很長的一段路要走。
“兼容性越強的技術,成本越低,性能越差;兼容性越差的技術,成本越高,性能越好。”--月光博客
那我們該用哪種模式?請看下篇“native app or web app--敢問路在何方?”
做為一個把握現在,展望未來的從業者,我們該何去何從?請看下下篇“native app & web app--兩手都得抓,兩手都得硬”