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

來源:互聯網
上載者:User

標籤:完全   位置   作業系統   基於   說明文   經驗   程式猿   stack   效能   

一、概念

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

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

二、使用者使用角度

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

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

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

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

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

原生應用程式:原生應用程式是某一個移動平台(比如iOS或安卓)所特有的,使用相應平台支援的開發工具和語言(比如iOS平台支援Xcode和Objective-C,安卓平台支援Eclipse和Java)。原生應用程式看起來(外觀)和運行起來(效能)是最佳的。
HTML5應用程式:HTML5應用程式使用標準的Web技術,通常是HTML5、JavaScript和CSS。這種只編寫一次、可到處啟動並執行移動開發方法構建的跨平台行動裝置 App程式可以在多個裝置上運行。雖然開發人員單單使用HTML5和JavaScript就能構建功能複雜的應用程式,但截至本文截稿時仍然存在一些重大的局限性,具體包括會話管理、安全離線儲存以及訪問原生裝置功能(網路攝影機、日曆和地理位置等)。
混合應用程式:混合應用程式讓開發人員可以把HTML5應用程式嵌入到一個細薄的原生容器裡面,集原生應用程式和HTML5應用程式的優點(及缺點)於一體。

簡而言之,原生應用程式提供了最佳易用性、最佳特性以及最佳總體移動體驗。以下這些是只能通過原生應用程式才能實現的功能:
多點觸控:雙擊、縮放及其他組合的使用者介面(UI)手勢。

?快速圖形API:原生平台為你提供了顯示最快速的圖形。如果你顯示只有寥寥幾個元素的靜態螢幕,這個功能可能不太重要,但如果你使用大量資料,需要快速重新整理,這項功能卻很重要。

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

?內建組件:網路攝影機、地址簿、地理位置及裝置的其他原生功能可以無縫地整合到行動裝置 App程式中。另一個重要的內建組件是加密的儲存裝置,這方面稍後會有詳細介紹。

?便於使用:原生平台是人們耳熟能詳的平台,所以如果你在這個熟悉的平台上添加人們期望的所有原生功能,也就擁有了一款使用起來完全更容易的應用程式。

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

原生應用程式通常使用整合式開發環境(IDE)開發而成。IDE提供了用於構建、調試、專案管理和版本控制的工具,還提供了專業開發人員需要的其他工具。雖然iOS和安卓應用程式是使用不同的IDE和語言開發而成的,不過開發環境方面卻有頗多相似之處,沒有必要深入鑽研兩者的差異。簡而言之,裝置需要什麼樣的工具,你就使用什麼工具。

你之所以需要這些工具,是因為原生應用程式開發起來比較困難。同樣,需要的開發經驗也要比其他開發情境來得豐富;你根本不能剪貼拷貝Objective-C,就指望可行。確實,Team Dev的技術專長是個重要的考量因素。如果你是名專業開發人員,恐怕早已通曉成熟可靠的API和架構、通過已構建的組件輕鬆實現的特效,或者將代碼都放在一個地方的好處。說實話,這年頭技能嫻熟的原生iOS或安卓開發人員如同搖滾明星,自然可以提出搖滾明星般的要求。

雖然我們從開發的角度來探討原生應用程式,不過別忘了還有一個更重要的角度:終端使用者。如果你在物色某款應用程式,可以在應用程式商店中找到。如果你開始運行應用程式,它會立即啟動。如果你使用應用程式,可以獲得快速的效能以及一致的平台外觀感覺。如果你的應用程式需要更新,它會告訴你需要更新。原生應用程式為你提供了期望從製造你手頭裝置的公司獲得的一切,好像應用程式的用途就是這樣。

原生應用程式通常使用整合式開發環境(IDE)開發而成。IDE提供了用於構建、調試、專案管理和版本控制的工具,還提供了專業開發人員需要的其他工具。雖然iOS和安卓應用程式是使用不同的IDE和語言開發而成的,不過開發環境方面卻有頗多相似之處,沒有必要深入鑽研兩者的差異。簡而言之,裝置需要什麼樣的工具,你就使用什麼工具。
你之所以需要這些工具,是因為原生應用程式開發起來比較困難。同樣,需要的開發經驗也要比其他開發情境來得豐富;你根本不能剪貼拷貝Objective-C,就指望可行。確實,Team Dev的技術專長是個重要的考量因素。如果你是名專業開發人員,恐怕早已通曉成熟可靠的API和架構、通過已構建的組件輕鬆實現的特效,或者將代碼都放在一個地方的好處。說實話,這年頭技能嫻熟的原生iOS或安卓開發人員如同搖滾明星,自然可以提出搖滾明星般的要求。

“只要編寫一次、可到處運行”的HTML5方法的一個重要部分是,就原生應用程式而言,分發和支援要容易得多。需要開發修正版或添加功能特性?完成後可以為所有使用者統一部署。就原生應用程式而言,開發與測試周期比較長,之後消費者通常必須登入到商店、下載新版本,才能獲得最新修正版。重大局限性在於離線儲存和安全,對企業行動裝置 App程式來說更是如此。雖然你可以通過將檔案快取在裝置上,貌似實現離線功能,但這根本不是一種很好的解決辦法。雖然底層資料庫可能經過加密,但是其不如用開發人員認證保護每個應用程式的原生鑰匙鏈加密方法來得充分分隔。此外,如果從案頭端啟動帶驗證機制的Web應用程式,每當應用程式被發送到後台,它都需要使用者輸入登入憑據。這對使用者來說是個糟糕的體驗。通常來說,在原生平台上實現哪怕微不足道的安全措施對Web移動開發人員來說也是很複雜的任務。因此,要是安全至關重要,這個因素可能會決定你選擇哪一種移動技術。

混合開發集原生和HTML5兩者的優點(及缺點)。我們定義的混合應用程式是一種Web應用程式,主要使用HTML5和JavaScript構建而成,然後封裝在細薄的原生容器裡面,可通過容器來訪問原生平台功能。

 

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.