1. 程式人生 > >h5做的app和原生app的區別

h5做的app和原生app的區別

個人 目前 sign 引用 enc 語言 缺陷 情況 支持

之所以說h5做的app和原生app的區別,是因為一位博友的問題:

隨著 h5 的普及,是不是不再需要開發 app ?

我的回答是要分業務需求,分場合而定。

比如現在的微信小程序這麽流行,甚至也取代了不少app,但是為什麽還是要開發app呢?

以我個人的想法,主要認為

性能是一個非常大的問題(微信小程序的功能與App相比,App功能豐富的前提下,還可以確保性能,而微信小程序與同h5開發的app一樣,性能始終是一個不可跨越的問題,不過根據摩爾定律,十八個月處理器性能提高,價格下降,以後性能也許不再是一個問題。其實之所以微信小程序流行,在於微信普遍的使用及其廣大的用戶量);

下面進入正題:

H5開發的web APP和原生APP的區別有以下幾個方面(引用一位朋友說的),我認為這位朋友說的比較全面:
一、開發方面
原生App
⊙ 每一種移動操作系統都需要獨立的開發項目
⊙ 每種平臺都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及C++(Windows Mobile)等等
⊙ 需要使用各自的軟件開發包,開發工具以及各自的控件

移動Web App
⊙ 因為運行在移動設備的瀏覽器上,所以只需要一個開發項目
⊙ 這種應用可以使用HTML5,CSS3以及JavaScript以及服務端語言語言來完成(PHP,Ruby on Rails,Python)
⊙ 這裏可沒有標準的SDK,基本任意選擇,別忘了有一些跨平臺的開發工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。

二、能力方面
原生App
⊙ 能夠與移動硬件設備的底層功能,比如個人信息,攝像頭等等

移動Web App
⊙ 只能使用有限的移動硬件設備功能。

三、獲取方法
原生App
⊙ 直接下載到設備
⊙ 以獨立的應用程序運行(並不需要瀏覽器)
⊙ 用戶必須手動去下載並安裝這些原生App
⊙ 有一些商店與賣場來幫助用戶尋找你的App,目前app市場不計其數

移動Web App
⊙ 從移動設備上的瀏覽器訪問
⊙ 不需要安裝額外的軟件
⊙ 軟件更新只需要服務器就夠了
⊙ 因為現在沒有什麽商品或賣場提供這種App,所以如何搜索這些移動Web App相當不簡單。

四、版本控制
原生App
⊙ 用戶可以自由地選擇是否更新軟件版本,所以會出現不同用戶同時使用不同版本的情況

移動Web App
⊙ 所有的用戶都是用同樣的版本

五、優勢
原生App

⊙ 比移動Web App運行快
⊙ 一些商店與賣場會幫助用戶尋找原生App
⊙ 官方賣場的應用審核流程會保證讓用戶得到高質量以及安全的App
⊙ 官方會發布很多開發工具或者人工支持來幫助你的開發

移動Web App
⊙ 跨平臺開發
⊙ 用戶不需要去賣場來下載安裝App
⊙ 任何時候都可以發布App,因為根本不需要官方賣場的審核
⊙ 如果你已經有了一個Web App,你可以使用 responsive web design來輔助改進

六、缺陷
原生App
⊙ 開發成本高,尤其是當需要多種移動設備來測試時
⊙ 因為是不同的開發語言,所以開發,維護成本也高
⊙ 因為用戶使用的App版本不同,所以你維護起來很困難
⊙ 官方賣場審核流程復雜且慢,會嚴重影響你的發布進程

移動Web App
⊙ 無法使用很多移動硬件設備的獨特功能
⊙ 要同時支持多種移動設備的瀏覽器讓開發維護的成本也不低
⊙ 如果用戶使用更多的新型瀏覽器,那問題就更不好處理了
⊙ 對於用戶來說,這種App很難被用戶發現

附:原生App 與 移動Web App:您如何選擇?
所以在你準備做移動App時,你應該先問問自己以下幾個問題:

1. 你的應用是否需要使用某些設備的特殊功能,比如攝像頭,攝像頭閃光燈等
2. 你的開發預算是多少?
3. 你的應用是否一定需要網絡
4. 你的應用的目標硬件設備是所有的移動設備還是僅僅只是一部分而已
5. 你自己已經熟悉的開發語言
6. 這個應用對於性能要求是否苛刻
7. 如何靠這個應用贏利

h5做的app和原生app的區別