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