1. 程式人生 > >H5、原生app、混合開發三者比較

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

-c 般的 ID 桌面 需要 win 後臺 one 測試

一、概念

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

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

二、用戶使用角度

一款APP展現給用戶的時候,用戶最關心的事是用戶用最簡單的操作完成我想要的東西或者是完成一些操作,用戶不管你是怎樣實現的功能,因為對用戶說最最最主要的是“用戶體驗”。

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

具體用H5的體驗好還是用原生的體驗好,這就涉及到應用本身的內容以及各個頁面來決定了。

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

————————————————————————————————

原生應用程序:原生應用程序是某一個移動平臺(比如iOS或安卓)所特有的,使用相應平臺支持的開發工具和語言(比如iOS平臺支持Xcode和Objective-C,安卓平臺支持Eclipse和Java)。原生應用程序看起來(外觀)和運行起來(性能)是最佳的。
HTML5應用程序:HTML5應用程序使用標準的Web技術,通常是HTML5、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構建而成,然後封裝在細薄的原生容器裏面,可通過容器來訪問原生平臺功能。

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