1. 程式人生 > >h5做app和原生app有什麼區別?

h5做app和原生app有什麼區別?

H5開發的web APP和原生APP的區別有以下幾個方面:
一、開發方面 
原生App 
⊙ 每一種移動作業系統都需要獨立的開發專案
⊙ 每種平臺都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual 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. 你的應用是否需要使用某些裝置的特殊功能,比如攝像頭,攝像頭閃光燈或者重力加速器
作者:Carl Li 連結:https://www.zhihu.com/question/29178728/answer/116301711 來源:知乎 著作權歸作者所有,轉載請聯絡作者獲得授權。
難道HTML5可以在大多數情況下代替原生App了嗎?
這個看你要做什麼了。 我最近把我們團隊的 BeautyTeam(開發中的團隊管理工具,類似 Teambition)AngularJS 版本做了 Ionic(Ionic: Advanced HTML5 Hybrid Mobile App Framework
)的相容。這個是開源的,可以在 GitHub - Obisoft2017/BeautyTeamAngularJS at exp 檢視,我把它標註成了試驗性的 branch;不過試試,至少在我這裡還沒有問題。 從這次移植的經驗來看如果你的 target 是不需要強大效能(譬如複雜 UI)的,包含 Apache Cordova 的 Ionic 完全可以勝任。但是對於計算來講目前的渲染引擎還稍顯遜色。
另外,HTML5的效能怎麼樣?
不是很瞭解——不是專職的前端;remote 的內容受制於網速一般體驗很差;本地的東西還是很可觀的。
HTML5做的App還要被IDE進行一系列處理才能轉換為App,是這樣嗎?
IDE 可以完成 debug 與打包部署釋出的過程(Xcode 便是)。Ionic CLI 已經可以完成除了釋出之外的大多數工作。 至於執行的話:基於 Cordova 的 Hybrid App 確實是塞到了一個巨型的 WebView 裡面——你可以自己看一看匯出的工程(*.xcodeproj)。React Native / Weex 則是基於 runtime / 反射機制繪製原生元件。
用HTML5開發App真的好嘛?
對於一個實際開發中缺乏 iOS / Android native 開發的團隊來講,這是一個不錯的選擇;如今的首選還是 native 開發。 2. 你的開發預算是多少? 3. 你的應用是否一定需要網路 4. 你的應用的目標硬體裝置是所有的移動裝置還是僅僅只是一部分而已 5. 你自己已經熟悉的開發語言 6. 這個應用對於效能要求是否苛刻 7. 如何靠這個應用贏利 重使用者體驗,面向大眾市場,規格基本確定,就做app,不要動H5. 面向小眾市場,就先做H5, 不要考慮優化,規格確定了想優化的時候就做app去。 作者:Carl Li 連結:https://www.zhihu.com/question/29178728/answer/116301711 來源:知乎 著作權歸作者所有,轉載請聯絡作者獲得授權。
難道HTML5可以在大多數情況下代替原生App了嗎?
這個看你要做什麼了。 我最近把我們團隊的 BeautyTeam(開發中的團隊管理工具,類似 Teambition)AngularJS 版本做了 Ionic(Ionic: Advanced HTML5 Hybrid Mobile App Framework)的相容。這個是開源的,可以在 GitHub - Obisoft2017/BeautyTeamAngularJS at exp 檢視,我把它標註成了試驗性的 branch;不過試試,至少在我這裡還沒有問題。 從這次移植的經驗來看如果你的 target 是不需要強大效能(譬如複雜 UI)的,包含 Apache Cordova 的 Ionic 完全可以勝任。但是對於計算來講目前的渲染引擎還稍顯遜色。
另外,HTML5的效能怎麼樣?
不是很瞭解——不是專職的前端;remote 的內容受制於網速一般體驗很差;本地的東西還是很可觀的。
HTML5做的App還要被IDE進行一系列處理才能轉換為App,是這樣嗎?
IDE 可以完成 debug 與打包部署釋出的過程(Xcode 便是)。Ionic CLI 已經可以完成除了釋出之外的大多數工作。 至於執行的話:基於 Cordova 的 Hybrid App 確實是塞到了一個巨型的 WebView 裡面——你可以自己看一看匯出的工程(*.xcodeproj)。React Native / Weex 則是基於 runtime / 反射機制繪製原生元件。
用HTML5開發App真的好嘛?
對於一個實際開發中缺乏 iOS / Android native 開發的團隊來講,這是一個不錯的選擇;如今的首選還是 native 開發。