H五、原生app、混合開發三者比較

1、概念html

a) H5:即Html5,接觸過互聯網的都知道html,因此很明顯h5是html的第5次重大修改的一項超文本標記語言的標準協議。android

b) 原生:使用原生製做APP(Native app),即在基於目前的智能手機的操做系統(如安卓android、蘋果IOS,另外還有windows phone)的基礎上而且搭配原生的編程編寫運行的第三方的移動應用程序,簡稱原生APP。算法

2、用戶使用角度數據庫

一款APP展示給用戶的時候,用戶最關心的事是用戶用最簡單的操做完成我想要的東西或者是完成一些操做,用戶無論你是怎樣實現的功能,由於對用戶說最最最主要的是「用戶體驗」。編程

「用戶體驗」這是程序猿和企業運營者必需(一定須要)要考慮的頭等大事。windows

具體用H5的體驗好仍是用原生的體驗好,這就涉及到應用自己的內容以及各個頁面來決定了。緩存

h5 app開發快,實現的功能也很炫,好高大上哦!那是我想達到的技術。原生的開發太耗時耗力。
native app能更好的適應各類類型的功能實現,你H5能夠的我原生的均可以實現。
H5+原生混合開發,某此固定格式和控件的、頁面反應速度要求高的模塊就採用原生natvie開發,對於新聞、大段文字、資訊類的用H5語言的標準實現頁面來加載,將其嵌入到原生框架中那麼,能夠達到比較良好的體驗。安全

————————————————————————————————app

原生應用程序:原生應用程序是某一個移動平臺(好比iOS或安卓)所特有的,使用相應平臺支持的開發工具和語言(好比iOS平臺支持Xcode和Objective-C,安卓平臺支持Eclipse和Java)。原生應用程序看起來(外觀)和運行起來(性能)是最佳的。
HTML5應用程序:HTML5應用程序使用標準的Web技術,一般是HTML五、JavaScript和CSS。這種只編寫一次、可處處運行的移動開發方法構建的跨平臺移動應用程序能夠在多個設備上運行。雖然開發人員單單使用HTML5和JavaScript就能構建功能複雜的應用程序,但截至本文截稿時仍然存在一些重大的侷限性,具體包括會話管理、安全離線存儲以及訪問原生設備功能(攝像頭、日曆和地理位置等)。
混合應用程序:混合應用程序讓開發人員能夠把HTML5應用程序嵌入到一個細薄的原生容器裏面,集原生應用程序和HTML5應用程序的優勢(及缺點)於一體。框架

簡而言之,原生應用程序提供了最佳易用性、最佳特性以及最佳整體移動體驗。如下這些是隻能經過原生應用程序才能實現的功能:
多點觸控:雙擊、縮放及其餘組合的用戶界面(UI)手勢。

•快速圖形API:原平生臺爲你提供了顯示最快速的圖形。若是你顯示只有寥寥幾個元素的靜態屏幕,這個功能可能不過重要,但若是你使用大量數據,須要快速刷新,這項功能卻很重要。

•流暢動畫:與快速圖形API有關的是實現流暢動畫的功能。這在動畫、高度交互的報表或者轉換照片和聲音的計算密集型算法中顯得尤其重要。

•內置部件:攝像頭、地址簿、地理位置及設備的其餘原生功能能夠無縫地整合到移動應用程序中。另外一個重要的內置部件是加密的存儲裝置,這方面稍後會有詳細介紹。

•易於使用:原平生臺是人們耳熟能詳的平臺,因此若是你在這個熟悉的平臺上添加人們指望的全部原生功能,也就擁有了一款使用起來徹底更容易的應用程序。

•說明文檔:市面上僅僅介紹iOS和安卓開發的圖書就有2500多本,Stackoverflow等網站上還有不可勝數的文章、博文和詳細的技術帖子。

原生應用程序一般使用集成開發環境(IDE)開發而成。IDE提供了用於構建、調試、項目管理和版本控制的工具,還提供了專業開發人員須要的其餘工具。雖然iOS和安卓應用程序是使用不一樣的IDE和語言開發而成的,不過開發環境方面卻有頗多類似之處,沒有必要深刻鑽研二者的差別。簡而言之,設備須要什麼樣的工具,你就使用什麼工具。

你之因此須要這些工具,是由於原生應用程序開發起來比較困難。一樣,須要的開發經驗也要比其餘開發場景來得豐富;你根本不能剪貼拷貝Objective-C,就期望可行。確實,開發團隊的技術專長是個重要的考量因素。若是你是名專業開發人員,恐怕早已通曉成熟可靠的API和框架、經過已構建的部件輕鬆實現的特效,或者將代碼都放在一個地方的好處。說實話,這年頭技能嫺熟的原生iOS或安卓開發人員如同搖滾明星,天然能夠提出搖滾明星般的要求。

雖然咱們從開發的角度來探討原生應用程序,不過別忘了還有一個更重要的角度:最終用戶。若是你在物色某款應用程序,能夠在應用程序商店中找到。若是你開始運行應用程序,它會當即啓動。若是你使用應用程序,能夠得到快速的性能以及一致的平臺外觀感受。若是你的應用程序須要更新,它會告訴你須要更新。原生應用程序爲你提供了指望從製造你手頭設備的公司得到的一切,好像應用程序的用途就是這樣。

原生應用程序一般使用集成開發環境(IDE)開發而成。IDE提供了用於構建、調試、項目管理和版本控制的工具,還提供了專業開發人員須要的其餘工具。雖然iOS和安卓應用程序是使用不一樣的IDE和語言開發而成的,不過開發環境方面卻有頗多類似之處,沒有必要深刻鑽研二者的差別。簡而言之,設備須要什麼樣的工具,你就使用什麼工具。
你之因此須要這些工具,是由於原生應用程序開發起來比較困難。一樣,須要的開發經驗也要比其餘開發場景來得豐富;你根本不能剪貼拷貝Objective-C,就期望可行。確實,開發團隊的技術專長是個重要的考量因素。若是你是名專業開發人員,恐怕早已通曉成熟可靠的API和框架、經過已構建的部件輕鬆實現的特效,或者將代碼都放在一個地方的好處。說實話,這年頭技能嫺熟的原生iOS或安卓開發人員如同搖滾明星,天然能夠提出搖滾明星般的要求。

「只要編寫一次、可處處運行」的HTML5方法的一個重要部分是,就原生應用程序而言,分發和支持要容易得多。須要開發修正版或添加功能特性?完成後能夠爲全部用戶統一部署。就原生應用程序而言,開發和測試周期比較長,以後消費者一般必須登陸到商店、下載新版本,才能得到最新修正版。重大侷限性在於離線存儲和安全,對企業移動應用程序來講更是如此。雖然你能夠經過將文件緩存在設備上,貌似實現離線功能,但這根本不是一種很好的解決辦法。雖然底層數據庫可能通過加密,可是其不如用開發者證書保護每一個應用程序的原生鑰匙鏈加密方法來得充分分隔。此外,若是從桌面端啓動帶驗證機制的Web應用程序,每當應用程序被髮送到後臺,它都須要用戶輸入登陸憑據。這對用戶來講是個糟糕的體驗。一般來講,在原平生臺上實現哪怕微不足道的安全措施對Web移動開發人員來講也是很複雜的任務。所以,要是安全相當重要,這個因素可能會決定你選擇哪種移動技術。

混合開發集原生和HTML5二者的優勢(及缺點)。咱們定義的混合應用程序是一種Web應用程序,主要使用HTML5和JavaScript構建而成,而後封裝在細薄的原生容器裏面,可經過容器來訪問原平生臺功能。

相關文章
相關標籤/搜索