移動應(yīng)用市場的競爭日趨白熱化,然而,極速擴充的市場背后也時刻隱藏著對APP平臺開發(fā)者們的巨大挑戰(zhàn),在一輪輪的研發(fā)、測試、修繕過程中,他們必須直面不同版本、不同屏幕分辨率的操作系統(tǒng)以及這些操作系統(tǒng)所營造出的復(fù)雜開發(fā)場景。“Web App和Native App選擇哪個開發(fā)比較好?”這類的討論幾乎成了移動互聯(lián)網(wǎng)的月經(jīng)話題。在當(dāng)前狀況下,針對不同的公司規(guī)模,面向不同的應(yīng)用領(lǐng)域,該如何做技術(shù)選型?我們看到,HTML5技術(shù)雖然已經(jīng)火熱許久,但真正利用HTML5技術(shù)構(gòu)建的成功的Web App相較于Native App而言可謂微乎其微。為什么當(dāng)下還是流行Native App開發(fā)模式?其中的利與弊相對于Web App有何不同?
1、開發(fā)方面
Native App開發(fā)即我們所稱的傳統(tǒng)APP開發(fā)模式(原生APP開發(fā)模式)。
⊙ 每一種移動操作系統(tǒng)都需要獨立的開發(fā)項目;
⊙ 每種平臺都需要獨立的開發(fā)語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等;
⊙ 需要使用各自的軟件開發(fā)包,開發(fā)工具以及各自的控件 ;
Web App開發(fā)即是一種框架型APP開發(fā)模式(HTML5 APP 框架開發(fā)模式)
⊙ 因為運行在移動設(shè)備的瀏覽器上,所以只需要一個開發(fā)項目;
⊙ 這種應(yīng)用可以使用HTML5,CSS3以及JavaScript以及服務(wù)器端語言來完成(PHP,Ruby on Rails,Python);
⊙ 這里可沒有標(biāo)準(zhǔn)的SDK,基本任意選擇別忘了有一些跨平臺的開發(fā)工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
2、能力方面
原生App
⊙ 能夠與移動硬件設(shè)備的底層功能,比如語音、攝像頭、短信、GPS、藍牙、重力感應(yīng)、個人信息、攝像頭以及重力加速器等等;
移動Web App
⊙ 只能使用有限的移動硬件設(shè)備功能。
3、獲取渠道方面
原生App
⊙ 直接下載安裝包到設(shè)備;
⊙ 以獨立的應(yīng)用程序運行(并不需要瀏覽器);
⊙ 用戶必須手動去下載并安裝這些原生App;
⊙ 有一些商店與賣場來幫助用戶尋找你的App;
Web App
⊙ 從移動設(shè)備上的瀏覽器訪問;
⊙ 不需要安裝額外的軟件;
⊙ 軟件更新只需要服務(wù)器就夠了;
⊙ 因為現(xiàn)在沒有什么商品或賣場提供這種App,所以如何搜索這些移動Web App相當(dāng)不簡單。
4、版本控制
原生App
⊙ 用戶可以自由地選擇是否更新軟件版本,所以會出現(xiàn)不同用戶同時使用不同版本的情況;
移動Web App
⊙ 所有的用戶都是用同樣的版本;
4、優(yōu)勢
原生App
⊙ 比移動Web App運行快;
⊙ 一些商店與賣場會幫助用戶尋找原生App;
⊙ 官方賣場的應(yīng)用審核流程會保證讓用戶得到高質(zhì)量以及安全的App;
⊙ 官方會發(fā)布很多開發(fā)工具或者人工支持來幫助你的開發(fā);
移動Web App
⊙ 跨平臺開發(fā);
⊙ 用戶不需要去賣場來下載安裝App;
⊙ 任何時候都可以發(fā)布App,因為根本不需要官方賣場的審核;
⊙ 如果你已經(jīng)有了一個Web App,你可以使用 responsive web design來輔助改進;
5、缺陷
原生App
⊙ 開發(fā)成本高,尤其是當(dāng)需要多種移動設(shè)備來測試時;
⊙ 因為是不同的開發(fā)語言,所以開發(fā),維護成本也高;
⊙ 因為用戶使用的App版本不同,所以你維護起來很困難;
⊙ 官方賣場審核流程復(fù)雜且慢,會嚴(yán)重影響你的發(fā)布進程 ;
移動Web App
⊙ 無法使用很多移動硬件設(shè)備的獨特功能;
⊙ 要同時支持多種移動設(shè)備的瀏覽器讓開發(fā)維護的成本也不低;
⊙ 如果用戶使用更多的新型瀏覽器,那問題就更不好處理了;
⊙ 對于用戶來說,這種App很難被用戶發(fā)現(xiàn)。
從目前來看,由于Web App依賴于瀏覽器的性能,Web App還只是適合做一些信息瀏覽類型的應(yīng)用,如果想做一些復(fù)雜功能,特別是頻繁與網(wǎng)絡(luò)交互的應(yīng)用,還是只能選用Native App。

與此同時,在移動設(shè)備電力續(xù)航和處理性能不足網(wǎng)絡(luò)帶寬有限的情況下,Web App的使用體驗遠遠遜色于Native APP,所以現(xiàn)階段,開發(fā)者使用嵌入H5的方式,歸根究底是想要在瀏覽器上的體驗趨近于Native APP,毋庸置疑,更優(yōu)雅更高效的Native APP會是主流。不管這場戰(zhàn)爭何時休止,App開發(fā)最終還是要回歸于原生態(tài)。
移動應(yīng)用市場的競爭日趨白熱化,然而,極速擴充的市場背后也時刻隱藏著對APP平臺開發(fā)者們的巨大挑戰(zhàn),在一輪輪的研發(fā)、測試、修繕過程中,他們必須直面不同版本、不同屏幕分辨率的操作系統(tǒng)以及這些操作系統(tǒng)所營造出的復(fù)雜開發(fā)場景?!癢eb App和Native App選擇哪個開發(fā)比較好?”這類的討論幾乎成了移動互聯(lián)網(wǎng)的月經(jīng)話題。在當(dāng)前狀況下,針對不同的公司規(guī)模,面向不同的應(yīng)用領(lǐng)域,該如何做技術(shù)選型?我們看到,HTML5技術(shù)雖然已經(jīng)火熱許久,但真正利用HTML5技術(shù)構(gòu)建的成功的Web App相較于Native App而言可謂微乎其微。為什么當(dāng)下還是流行Native App開發(fā)模式?其中的利與弊相對于Web App有何不同?
1、開發(fā)方面
Native App開發(fā)即我們所稱的傳統(tǒng)APP開發(fā)模式(原生APP開發(fā)模式)。
⊙ 每一種移動操作系統(tǒng)都需要獨立的開發(fā)項目;
⊙ 每種平臺都需要獨立的開發(fā)語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等;
⊙ 需要使用各自的軟件開發(fā)包,開發(fā)工具以及各自的控件 ;
Web App開發(fā)即是一種框架型APP開發(fā)模式(HTML5 APP 框架開發(fā)模式)
⊙ 因為運行在移動設(shè)備的瀏覽器上,所以只需要一個開發(fā)項目;
⊙ 這種應(yīng)用可以使用HTML5,CSS3以及JavaScript以及服務(wù)器端語言來完成(PHP,Ruby on Rails,Python);
⊙ 這里可沒有標(biāo)準(zhǔn)的SDK,基本任意選擇別忘了有一些跨平臺的開發(fā)工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
2、能力方面
原生App
⊙ 能夠與移動硬件設(shè)備的底層功能,比如語音、攝像頭、短信、GPS、藍牙、重力感應(yīng)、個人信息、攝像頭以及重力加速器等等;
移動Web App
⊙ 只能使用有限的移動硬件設(shè)備功能。
3、獲取渠道方面
原生App
⊙ 直接下載安裝包到設(shè)備;
⊙ 以獨立的應(yīng)用程序運行(并不需要瀏覽器);
⊙ 用戶必須手動去下載并安裝這些原生App;
⊙ 有一些商店與賣場來幫助用戶尋找你的App;
Web App
⊙ 從移動設(shè)備上的瀏覽器訪問;
⊙ 不需要安裝額外的軟件;
⊙ 軟件更新只需要服務(wù)器就夠了;
⊙ 因為現(xiàn)在沒有什么商品或賣場提供這種App,所以如何搜索這些移動Web App相當(dāng)不簡單。
4、版本控制
原生App
⊙ 用戶可以自由地選擇是否更新軟件版本,所以會出現(xiàn)不同用戶同時使用不同版本的情況;
移動Web App
⊙ 所有的用戶都是用同樣的版本;
4、優(yōu)勢
原生App
⊙ 比移動Web App運行快;
⊙ 一些商店與賣場會幫助用戶尋找原生App;
⊙ 官方賣場的應(yīng)用審核流程會保證讓用戶得到高質(zhì)量以及安全的App;
⊙ 官方會發(fā)布很多開發(fā)工具或者人工支持來幫助你的開發(fā);
移動Web App
⊙ 跨平臺開發(fā);
⊙ 用戶不需要去賣場來下載安裝App;
⊙ 任何時候都可以發(fā)布App,因為根本不需要官方賣場的審核;
⊙ 如果你已經(jīng)有了一個Web App,你可以使用 responsive web design來輔助改進;
5、缺陷
原生App
⊙ 開發(fā)成本高,尤其是當(dāng)需要多種移動設(shè)備來測試時;
⊙ 因為是不同的開發(fā)語言,所以開發(fā),維護成本也高;
⊙ 因為用戶使用的App版本不同,所以你維護起來很困難;
⊙ 官方賣場審核流程復(fù)雜且慢,會嚴(yán)重影響你的發(fā)布進程 ;
移動Web App
⊙ 無法使用很多移動硬件設(shè)備的獨特功能;
⊙ 要同時支持多種移動設(shè)備的瀏覽器讓開發(fā)維護的成本也不低;
⊙ 如果用戶使用更多的新型瀏覽器,那問題就更不好處理了;
⊙ 對于用戶來說,這種App很難被用戶發(fā)現(xiàn)。
從目前來看,由于Web App依賴于瀏覽器的性能,Web App還只是適合做一些信息瀏覽類型的應(yīng)用,如果想做一些復(fù)雜功能,特別是頻繁與網(wǎng)絡(luò)交互的應(yīng)用,還是只能選用Native App。

與此同時,在移動設(shè)備電力續(xù)航和處理性能不足網(wǎng)絡(luò)帶寬有限的情況下,Web App的使用體驗遠遠遜色于Native APP,所以現(xiàn)階段,開發(fā)者使用嵌入H5的方式,歸根究底是想要在瀏覽器上的體驗趨近于Native APP,毋庸置疑,更優(yōu)雅更高效的Native APP會是主流。不管這場戰(zhàn)爭何時休止,App開發(fā)最終還是要回歸于原生態(tài)。