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)更新緩慢,根據不同平臺,提交–稽核–上線 等等不同的流程,需要經過的流程較複雜
他們之間的區別對比:
他們之間的技術特性對比