Native App及Hybrid App優缺點介紹!
Native App
在說 Hybrid App 之前不得不先講到 Native App,這是最為傳統的一種移動端開發技術。
在 iOS 和安卓中官方的開發語言是 oc/swift、java/kotlin,使用這些開發出來的 App 一般稱之為原生應用。
優點:
原生應用一般體驗較好,效能比較高,可以提前把資源下載到本地,開啟速度快。
除此之外,原生應用可以直接呼叫系統攝像頭、通訊錄、相簿等功能,也可以訪問到本地資源,功能強大。
一般需要開發 App,原生應用應該是首選。
缺點:
原生應用最大的缺點就是不支援動態化更新,這也是很多大廠不完全使用原生開發的原因。
考慮一下,如果線上出現嚴重問題,那該怎麼辦呢?
首先客戶端開發修復了 bug 之後,就需要重新發版、提交應用商店稽核,這一流程走下來往往需要好幾天的時間。gendan5.com/tagslist/%E5%AE%9E%E7%89%A9%E9%92%AF%E9%87%91/
如果釋出了新版 App,使用者該怎麼去更新呢?答案是沒法更新。他們只能重新去下載整個 App,但實際上可能只更新了一行文案,這樣就得不償失了。
除此之外,最麻煩的地方在於要相容老版本的 App。比如我們有個列表頁原本是分頁載入的,介面返回分頁資料。產品說這樣體驗不好,我們需要換成全量載入,那介面就需要做成全量的。
但介面一旦換成了全量的,老版本的客戶端裡面依然是分頁請求介面的,這樣就會出現問題。因此,介面不得不根據不同版本進行相容。
Hybrid App
Hybrid App 是介於 Native 和 Web 之間的一些開發模式,一般稱作混合開發。
簡單來說 Hybrid 就是套殼 App,整個 App 還是原生的,也需要下載安裝到手機,但是 App 裡面開啟的頁面既可以是 Web 的,又可以是原生的。
H5 頁面會跑在 Native 的一個叫做 WebView 的容器裡面,我們可以簡單理解為在 App 裡面開啟了一個 Chrome 瀏覽器,在這個瀏覽器裡面開啟一個 Tab 去載入線上或者本地的 H5 頁面,這樣還可以實現開啟多 WebView 來載入多個頁面。
優勢:
Hybrid App 同時擁有 Native 和 Web 的優點,開發模式比較靈活。既可以做到動態化更新,有 bug 直接更新線上 H5 頁面就行了。 也可以使用橋接(JS Bridge)來呼叫系統的攝像頭、相簿等功能,功能就不僅僅侷限於瀏覽器了。
由於 H5 的優勢,Hybrid 也支援跨平臺,只要有 WebView,一套程式碼可以很容易跨iOS、安卓、Web、小程式、快應用多個平臺。
缺點
缺點主要還是 Web App 的那些缺點,載入速度比較慢。
同時,因為受制於 Web 的效能,在長列表等場景依然無法做到和原生一樣的體驗。
當然載入速度是可以最佳化的,比如離線包。可以提前下載打包好的 zip 檔案(包括 JS、CSS、圖片等資原始檔)到 App 裡面,App 自己解壓出來 JS 和 CSS 等檔案。這樣每次訪問的是 App 本地的資源,載入速度可以得到質的提升。
如果檔案有更新,那麼客戶端就去拉取遠端版本,和本地版本進行對比,如果版本有更新,那就去拉取差量部分的檔案,用二進位制 diff 演算法 patch 到原來的檔案中,這樣可以做到熱更新。
但是成本也比較高,不僅需要在服務端進行一次檔案差分,還需要公司內部提供一套熱更新發布平臺。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014563/viewspace-2887350/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Native APP(原生應用)、Web App(Web應用)、Hybrid App(混合應用) 優缺點分析APPWeb
- NUMA架構介紹及優缺點分析架構
- 分享6個Java框架及優缺點介紹Java框架
- Web App、Hybrid App、Native App 橫向對比WebAPP
- MySQL的binlog的格式及優缺點介紹MySql
- RASP Runtime Application Self-protection 執行時應用自我保護 介紹及優缺點APP
- GC演算法介紹及工作原理和優缺點GC演算法
- 聊聊Web App、Hybrid App與Native App的設計差異WebAPP
- 靜態IP的優缺點介紹
- MySQL MHA工具的優缺點介紹MySql
- MySQL MERGE表的優缺點介紹MySql
- XtraBackup備份原理和優缺點介紹
- MySQL GTID複製的優缺點介紹MySql
- Redis和MongoDB優缺點介紹!Python學習RedisMongoDBPython
- 【Redis】四種部署模式的介紹及其優缺點Redis模式
- MongoDB Sharding ChunkSize大小選擇優缺點介紹MongoDB
- TokuDB的優缺點和適用場景介紹
- redis兩種持久化方式的優缺點介紹Redis持久化
- Appium 介紹及環境安裝APP
- Appimage介紹APP
- WebApp 開發框架推薦以及優缺點分析WebAPP框架
- Python中爬蟲模組有哪些?優缺點介紹!Python爬蟲
- MySQL觸發器的使用和優缺點介紹ZGMHMySql觸發器
- Redis持久化的兩種方式的優缺點介紹Redis持久化
- MySQL垂直切分和水平切分概念和優缺點介紹MySql
- PXC(Percona XtraDB Cluster)特性和優缺點介紹
- docker簡介以及優缺點Docker
- 常見Hybrid App框架優劣對比APP框架
- MySQL InnoDB獨立表空間模式的優點和缺點介紹MySql模式
- APP創業者必知的H5、微信開發、APP優缺點分析APP創業H5
- 部分聚類演算法簡介及優缺點分析聚類演算法
- service-app介紹APP
- 起點海外版 Hybrid App-內嵌頁優化實踐APP優化
- MySQL binlog三種格式的優缺點和修改方法介紹MySql
- MySQL NDB Cluster和Galera Cluster的主要特性和優缺點介紹MySql
- iOS notification的優勢及缺點iOS
- 直播商城APP功能介紹APP
- Hybrid 混合App開發APP