APP的三種開發模式,及PWA的到來


三種開發模式指的是:原生APP,WEBAPP,和混合APP

先簡單的對他們做個簡紹,知道他們分別代表的是什么?

1. 原生APP:

基於本地(操作系統)運行的APP —-Native App;他是專門為特定的手機平台開發程序,他使用與手機系統相同的語言和技術模型,所以在性能和用戶體驗方面能夠更好、更貼切。

拿實際開發來說,就是IOS和Android,對於同一APP他需要兩個開發團隊,分別針對兩種手機系統進行開發,這就是原生APP。

 

原生APP開發的主要優點:

1)較好的性能和更好的交互體驗

2)能夠更好的調用手機底層,使用手機系統的所有硬件和軟件 API,比如 攝像頭、麥克風、通知推送等等,能充分發揮系統的潛力。

 

原生APP開發的主要缺點:

1)針對不同的手機平台需要不同的技術開發團隊,這就造成了開發成本較高

2)原生APP開發使用底層操作系統語言,開發周期教長

3)版本更新,沒次需要下載APP進行版本更新

2.Web App

基於瀏覽器運行的App —-WebApp;使用網頁做的應用程序,必選在瀏覽器中使用。

Web App 主要使用網頁技術,即 HTML、JavaScript 和 CSS。

 

Web App的主要優點:

1)不需要下載安裝app,不需要更新app,每次打開都是最新的版本

2)開發較容易,主要使用網頁技術

3)比較原生App不需要應用商店的審批

 

Web App的主要缺點:

1)瀏覽器提供的api有限,很多系統硬件api不能使用

2)瀏覽器渲染,性能比不上原生的APP,不適合要求較高的項目開發

3.混合 APP

基於上兩種app發展出來的產物 —-Hybrid App;核心就是原生的殼,里面放了一層網頁。

可以理解成,混合 App 里面隱藏了一個瀏覽器,用戶看到的實際上是這個隱藏瀏覽器渲染出來的網頁。

混合 App 的原生外殼稱為"容器",內部隱藏的瀏覽器,通常使用系統提供的網頁渲染控件(即 WebView 控件),也可以自己內置一個瀏覽器內核。結構上,混合 App 從上到下分成三層:HTML5 網頁層、網頁引擎層(本質上是一個隔離的瀏覽器實例)、容器層。

混合 App 里面的網頁不同於普通網頁,可以調用底層系統所有的 API。奧秘就在於外層容器提供了 API Bridge,充當底層 API 的中介,允許內部的網頁調用底層。

所謂 API Bridge 就是容器在底層接口和網頁之間,建立一座橋梁,讓雙方通信。容器一旦接到網頁的請求,就根據請求去調用底層系統的 API,然后再返回結果給網頁。API Bridge 往往以 JavaScript 語言提供,方便網頁調用,這時又稱為 JSbridge。

不同容器的 API Bridge 是不一樣的。為某個容器寫的網頁,不能放在另一個容器使用,也無法在瀏覽器使用,除非網頁腳本做了兼容處理。

 

混合 App開發的主要優點:

1)一套代碼可跨平台使用,跨平台開發

2)可以集成網頁和手機系統功能,靈活性高

 

混合開發的主要缺點:

1)由於存在網頁引擎的中間層,所以性能比較欠缺,不僅不如原生 App,而且由於 WebView 不是全功能瀏覽器,可能比 Web App 都要慢一些

2)由於頁面跨平台,就無法使用只有特定平台提供的功能,導致體驗不如純的原生 App

 

以上就是三種app開發模式的大致簡紹

說道這里也簡單的簡紹一下最近在印度等地比較流行的PWA

PWA

"漸進式 Web App"(Progressive Web App,縮寫 PWA)

PWA技術是谷歌團隊為大力推廣Web App而做出努力的結果。

Web App 需要打開瀏覽器才能使用,這意味着,用戶必須記住如何導航到它,要么直接輸入網址,要么翻找書簽。這使得進入 Web App,遠不如原生 App 方便,在谷歌看來一下的三點缺陷是制約Web App發展的重要原因:

1)手機首屏無法直接打開WebApp,需要打開瀏覽器才行

2)脫網狀態,Web App不支持斷網鏈接

3)缺乏手機狀態欄和鎖屏時的通知推送能力

 

從上面需要面對的問題,不難看出PWA的特點:

1)它可以把網站緩存在手機里面,供離線時使用

2)能在手機首屏生成圖標,直接點擊進入

3)有通知推送能力,也不帶有瀏覽器的地址欄和狀態欄

但任存在缺點:

1)PWA 需要瀏覽器訪問一次網站,才能在首屏生成圖標

2)目前 iOS 系統的支持還不夠理想

所以還只是一項探索性質的技術,迄今為止缺乏足夠的成功案例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM