Native App、Web App 還是Hybrid App

來源:互聯網
上載者:User

標籤:

Native App、Web App 還是Hybrid App? 技術 標點符 1年前 (2014-05-09) 3036℃ 0評論

一、什麼是Native App?

Native App即原生應用,即我們一般所稱的用戶端,是針對不同手機系統單獨開發的本地應用,如需使用需要先下載到手機並安裝,下載Native App的最常見方法是訪問應用程式商店,如蘋果的App Store、安卓市場、Google Play等。在技術實現上一般採用針對作業系統的特定語言進行編寫,如:使用Objective-c開發IOS應用,使用Java+Android開發 android應用。

Native App的優點:

  • 可以在市集輕易地找到並且能在手機主畫面上產生相應的表徵圖
  • 可以利用系統API及平台特性,訪問手機的提供的功能(GPS,相機等)
  • 可訪問本地資源,支援離線工作,節省使用者的流量成本
  • 可針對不同平台提供不同的體驗,針對平台特性去做使用者體驗最佳化
  • 與系統高度切合,可獲得更快的運行速度和效能,並支援豐富的圖形和動畫。

Native App的缺點:

  • 開發成本高,需要針對不同平台需要不同的技術背景進行開發
  • 維護成本高,使用者必須手動下載更新,曆史版本又不能不維護
  • 未知的上線時間,需要通過市集的審核

Native App最大的優勢就是可以使用作業系統開發商提供的API。這些API可以分為兩大類:低級API和進階API。

  • 低級API:應用程式能直接與觸控螢幕或鍵盤進行聯絡、渲染圖形、串連至網路、處理從麥克風收到的音頻、通過擴音器或麥克風播放聲音,或者接收來自 網路攝影機的映像或視頻。應用程式能訪問全球定位系統(GPS)、接收方位資訊,當然還可以讀寫固態硬碟上的檔案,或者訪問現有和將來會有的其他任何硬體元 件。
  • 進階API:提供對個人移動體驗來說很重要的較進階服務,這類服務包括瀏覽Web,管理日曆、連絡人資料和相簿等,當然還包括打電話或收發簡訊的功能。

作業系統提供的另一組重要的API是GUI工具包。每一種移動作業系統都隨帶各自的一組使用者介面組件,比如按鈕、輸入區、滑塊、菜單、功能表列、對話方塊及其他。可以使用這些組件的應用程式繼承了該特定移動作業系統的外觀和感覺,通常會帶來非常流暢的使用者體驗。

二、什麼是Web App?

Web App又叫Web應用,簡單的說就是一個觸屏版的網站。Web應用完全用HTML、JavaScript和CSS等Web技術開發,通過行動裝置的瀏覽器來訪問,缺點是這些基於瀏覽器的應用無法調用系統API來實現一些進階功能,也不適合高效能要求的場合。

Web App的優點:

  • 開發成本低,使用現有的Web開發技術即可
  • 適用範圍廣,覆蓋所有智能手機,跨平台和終端
  • 方便、快捷地部署,無需使用者安裝
  • 使用者總能訪問到最新版本,迭代更新容易
  • 可被搜尋引擎收錄並帶來流量

Web App的缺點:

  • 瀏覽體驗短期內還無法超越原生應用
  • 不支援離線模式(HTML5將會解決這個問題)
  • 訊息推送不夠及時
  • 調用本地檔案系統的能力弱
  • 較差的和較慢的效能體驗(大部分需要連結互連網)
  • 支援圖形和動畫效果較差
  • 不適用於市集及沒有靠下載應用盈利機會
  • 限制使用者使用功能(比如,相機、GPS等)

移動Web App是一種很有希望的趨勢。為了緊緊抓住這個趨勢,協助開發人員構建用戶端使用者介面,已開發出越來越多的JavaScript工具包,比如Sencha Touch和jQuery Mobile,它們建立的使用者介面在外觀和感覺上與Native App大同小異。兩者都完全在行動裝置的瀏覽器裡面執行,充分利用了現代行動瀏覽器所提供的最新JavaScript、CSS和HTML5特性。

三、什麼是Hybrid App?

Hybrid App又叫混合應用,是一種介於Native App、Web App之間的App,它雖然看上去是一個Native App,但只是一個UI WebView,裡面訪問的是一個Web App。Hybrid App實質是偽造一個瀏覽器的apk/ipa原生程式,並運行了一個Web APP。Hybrid App兼具“Native App良好使用者互動體驗的優勢”和“Web App跨平台開發的優勢”。它可以使web開發人員可以幾乎零成本的轉型成行動裝置 App開發人員,並且相同的代碼只需針對不同平台進行編譯就能實現在多平台的分 發,而相較於Web App,開發人員可以通過封裝好的介面,調用大部分常用的系統API。

Hybrid App的優點:

  • 支援多平台訪問
  • 手機功能都可訪問
  • 適用於市集
  • 部分支援離線功能

Hybrid App的缺點:

  • 未知的部署時間
  • 使用者體驗不如本地應用
  • 效能速度較慢(需連結網路)
  • 該技術尚未發展成熟,依然是一門新技術

Hybrid開發方法結合了Native開發和Web技術。藉助這種方法,開發人員就能使用跨平台Web技術,開發應用程式的大部分代碼,又可以在需 要時直接存取Native API。App的Native代碼部分使用作業系統的API來建立嵌入式HTML渲染引擎,該引擎在瀏覽器和裝置的API之間充當了橋樑。這座橋樑讓 Hybrid App得以充分利用現代裝置所提供的全部特性。App的Web部分可能是駐留在伺服器上的網頁,也可能是一組HTML、JavaScript、CSS和媒 體檔案,封裝到App代碼中,儲存在裝置本地。放置在伺服器上的HTML代碼讓開發人員不必經曆提交和批准過程,把Web代碼封裝到App裡面可以提高效能 和可訪問性。

如果企業使用Hybrid開發方法,就能集兩者之所長。一方面,Native讓開發人員可以充分利用現代行動裝置所提供的全部不同的特性和功能。另一 方面,使用Web語言編寫的所有代碼都可以在不同的移動平台之間共用,使得開發和日常維護過程變得集中式、更簡短、更經濟高效。

四、Native App、Web App和Hybrid App的比較

Native開發方法在效能和裝置訪問方面很出色,但成本和更新方面有缺點。Web方法更新起來簡單得多,成本較低,也更容易,但是目前功能有限, 也無法獲得使用Native API調用所能獲得的那種出色的使用者體驗。Hybrid開發方法提供了折中方案:在許多情況下,它集兩者之所長,如果開發人員面向多種作業系統更是如此。

從上面的表格中可以看出,沒有哪一種開發方法總是提供所有的優點。每一種開發方法有天生的局限性,沒有哪一種方法能夠滿足現代移動企業的所有要求、 應對複雜情況。選擇一種合適的方法取決於企業的具體要求,可能取決於諸多因素,比如預算、時間表、內部資源、目標市場、所需的應用程式功能、IT基礎設施 及其他許多方面。但是有一點很清楚:如今的大多數公司顯然在兩個方面之間作取捨:一是使用者體驗和應用程式功能,另一是開發成本和產品上市時間。問題就變成 了選擇一種合適的開發方法,能兼顧企業的要求和其在預算和產品上市時間方面的限制。

Native App、Web App 還是Hybrid 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.