1. 程式人生 > >什麼是Web App、Hybrid App、 Native App以及區別,當前主流移動和應用程式型別

什麼是Web App、Hybrid App、 Native App以及區別,當前主流移動和應用程式型別

隨著H5標準的釋出以及推廣,使得移動應用的開發也受到了很大影響,出於效率、成本等等的原因,移動應用的開發不在完全依賴於“原生”。
今天就簡單總結一下目前的三大主流移動應用開發型別。
APP,一般認為是 mobile application,也就是移動移動應用程式。

先上圖
三種

Native App

Native App是一種基於智慧手機本地作業系統如iOS、Android、WP並使用原生程式編寫執行的第三方應用程式,也叫本地app。
常用語言當然就是
iOS :Objective-C swift
Android :JAVA
Windowsphone :C++

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

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

Web App

Web App,顧名思義是指基於Web的應用,基本採用Html5語言寫出,不需要下載安裝。類似於現在所說的輕應用。基於瀏覽器執行的應用,基本上可以說是觸屏版的網頁應用。

優點
(1)開發成本低,
(2)更新快,
(3)更新無需通知使用者,不需要手動升級,
(4)能夠跨多個平臺和終端。

缺點:
(1)臨時性的入口
(2)無法獲取系統級別的通知,提醒,動效等等
(3)使用者留存率低
(4)設計受限制諸多
(5)體驗較差

比如我們經常使用的日曆工資計算器、網頁地圖等等
計算器

還有高階一些的基於 web 的系統,其實也應該屬於 web app 的範疇
比如大名鼎鼎的 群暉 DSM 系統

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混合型

即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主體型的移動應用使用者體驗的好壞,主要取決於底層中介軟體的互動與跨平臺的能力。
國外的appMobi、PhoneGap和國內的WeX5、AppCan和Rexsee都屬於Web主體型移動應用中介軟體。
其中Rexsee不支援跨平臺開發。
appMobi和PhoneGap除基礎的底層能力更多是通過外掛(Plugins)擴充套件的機制實現Hybrid。
AppCan除了外掛機制,還提供了大量的單View混合型的介面來完善和彌補Web主體型Hybrid App體驗差的問題,接近Native App的體驗。
而WeX5則在揉合PhoneGap和Bootstrap等主流技術的基礎上,對效能進一步做了深度優化,不但完全具備Native App對本地資源的呼叫能力,效能體驗也不輸原生;WeX5所開發出來的app具備完全的跨端執行能力,可以無需任何修改直接執行在各種前端環境上。
從分析可見,Hybrid App中的Web主體型只要能夠解決使用者體驗差的問題,就可以變成最佳Hybrid App解決方案型別。

多主體共存型(靈活型)

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

區別和對比

對比

技術特性對比
技術特性

擴充套件閱讀