1. 程式人生 > >Web App、Hybrid App、 Native App之間的差異

Web App、Hybrid App、 Native App之間的差異

APP,一般認為是 mobile application,也就是移動移動應用程式。

目前主流應用程式大體分為三類:Web App、Hybrid App、 Native App。

1.Web App

Web App 指採用Html5語言寫出的App,不需要下載安裝。類似於現在所說的輕應用,生存在瀏覽器中的應用,基本上可以說是觸屏版的網頁應用。WebApp是基於Web的系統和應用,其作用是向廣大的終端使用者釋出一組複雜的內容和功能。

優點

(1)開發成本低,

(2)更新快,維護相對簡單

(3)更新無需通知使用者,不需要手動升級

(4)能夠跨多個平臺和終端。

缺點:

(1)臨時性的入口

(2)無法獲取系統級別的通知,提醒,動效等等

(3)使用者留存率低

(4)設計受限制諸多:主要5個因素(網路環境,渲染效能,平臺特性,受限於瀏覽器,系統限制)。

  • 網路環境依賴大,自身渲染效能較弱:對複雜的圖形樣式,多樣的動效,自定義字型等的支援性不強。
  • 由於Html5語言的技術特性,無法呼叫系統級別的許可權。例如,系統級別的彈窗,系統級別的通知,地理資訊,通訊錄,語音等等。且與系統的相容性也會存在一些問題。以上限制通常導致APP的拓展性不強,體驗相對較差。
  • Web App生存於瀏覽器裡,宿主是瀏覽器。不同的瀏覽器自身的屬性不盡相同,如:瀏覽器自帶的手勢,頁面切換方式,連結跳轉方式,版本相容問題等等。

(5)體驗較差

與原生對比:

原生app開發的成本比較高,而且後期維護比較困難

web app獲取不到手機裡面的底層功能,比如說開啟攝像頭、開啟相簿、獲取我們的地理位置資訊、支付...都是做不到的,

在設計Web APP時,應當遵循以下幾點:

1. 簡化

  • 簡化不重要的動畫/動效
  • 簡化複雜的圖形文字樣式

2. 少用

  • 少用手勢,避免與瀏覽器手勢衝突
  • 少用彈窗

3. 減少

  • 減少頁面內容
  • 減少控制元件數量
  • 減少頁面跳轉次數,儘量在當前頁面顯示

4. 增強

  • 增強Loading時的趣味性
  • 增強頁面主次關係
  • 增強控制元件複用性

2.Hybrid App

Hybrid APP指的是半原生半Web的混合類App。兼具“Native App良好使用者互動體驗的優勢”和“Web App跨平臺開發的優勢”。 。需要下載安裝,看上去類似Native App,但只有很少的UI Web View,訪問的內容是 Web 。

混合式 APP 目前有越來越火的趨勢,一大原因是可以進行“熱更新”,不再受限於稽核、上線等等繁複的流程。

AppStore裡的電商類、新聞類APP,視訊類APP普遍採取的是Native的框架,Web的內容。如淘寶、騰訊新聞等等。

Hybrid App 極力去打造類似於Native App 的體驗,但仍受限於技術,網速,等等很多因素。  Hybrid App按網頁語言與程式語言的混合,又分為四種類型:多View混合型、單View混合型、Web主體型和多主體共存型(靈活型)。

多View混合型    指Native View和Web View獨立展示,交替出現。  這種應用混合邏輯相對簡單。即在需要的時候,將WebView當成一個獨立的View(Activity)執行起來,在WebView內完成相關的展示操作。這種移動應用主體通常是Native App,Web技術只是起到補充作用。開發難度和Native App基本相當。

單View混合型即在同一個View內,同時包括Native View和Web View,互相之間是覆蓋(層疊)的關係。  這種Hybrid App的開發成本較高,開發難度較大,但是體驗較好。 

如百度搜索為代表的單View混合型移動應用,既可以實現充分的靈活性,又能實現較好的使用者體驗。

Web主體型即移動應用的主體是Web View,主要以網頁語言編寫,穿插Native功能的Hybrid App開發型別。  這種型別開發的移動應用體驗相對而言存在缺陷,但整體開發難度大幅降低,並且基本可以實現跨平臺。 

Web主體型的移動應用使用者體驗的好壞,主要取決於底層中介軟體的互動與跨平臺的能力。Hybrid App中的Web主體型只要能夠解決使用者體驗差的問題,就可以變成最佳Hybrid App解決方案型別。

多主體共存型(靈活型)是一種新型的開發模式,即支援Web主體型的應用,又支援以Native主體的應用,也支援兩者混合的開發模式。 比如kerkee框架,它具有跨平臺、使用者體驗好、效能高、擴充套件性好、靈活性強、易維護、規範化、具有Debug環境、徹底解決跨域問題等特點。使用者體驗與Native App媲美。功能方面,開發者可隨意擴充套件介面。

3.Native App

Native App是一種基於智慧手機本地作業系統如iOS、Android、WP並使用原生程式編寫執行的第三方應用程式,也叫本地app。 這種原生程式一般依託於作業系統,有很強的互動,是一個完整的App,可拓展性強。需要使用者下載安裝使用。

常用語言:  iOS :Objective-C swift  Android :JAVA  Windowsphone :C++

優點:  (1)打造完美的使用者體驗  (2)效能穩定  (3)操作速度快,上手流暢  (4)訪問本地資源(通訊錄,相簿)  (5)設計出色的動效,轉場,  (6)擁有系統級別的貼心通知或提醒  (7)使用者留存率高

缺點:  (1)分發成本高(不同平臺有不同的開發語言和介面適配)  (2)維護成本高(例如一款App已更新至V5版本,但仍有使用者在使用V2, V3, V4版本,需要更多的開發人員維護之前的版本)  (3)更新緩慢,根據不同平臺,提交–稽核–上線 等等不同的流程,需要經過的流程較複雜

他們之間的區別對比:

他們之間的技術特性對比

​​​​​​​