Web App、Hybrid App、Native App 橫向對比

比亞的答案發表於2022-11-23

移動端的開發方式三分天下:純原生(Native App)、混合開發(Hybird App)、網頁應用(Web App)。

編輯

純原生(Native App):是在 Android、iOS 等移動平臺上利用提供的開發語言、開發類庫、開發工具進行 App 軟體開發。比如 Android 是利用 Java、Eclipse、Android studio;iOS 是利用 Objective-C 和 Xcode 進行開發。純原生開發就像蓋房子一樣,先打地基然後澆地梁、房屋結構、一磚一瓦、鋼筋水泥、電路走向等,都是經過精心的設計。原生透過程式碼把每個頁面、每個功能、每個效果、每個邏輯、每個步驟全部寫出來,每一層,每一段全用程式碼寫出來,難度係數和複雜程度都較高。

混合開發(Hybrid App):主要以 JS+Native 兩者相互呼叫為主,從開發層面實現“一次開發,多處執行”的機制,成為真正適合跨平臺的開發。Hybrid App兼具了 Native App良好使用者體驗的優勢,也兼具了 Web App 使用 HTML5 跨平臺開發低成本的優勢。在開發一款 App 產品的時候,為了提高效率、節省成本而利用原生與H5的開發技術的混合應用,更通俗的講由“HTML5雲網站+APP 應用客戶端”構成的 App 是混合開發。後來隨著微信、支付寶、百度等超級 App 大力發展小程式,我們也逐漸把“小程式+APP應用客戶端”納入到混合開發的範圍內。

網頁應用(Web App):是利用Web技術進行的App開發,Web技術本身需要瀏覽器的支援才能進行展示和使用者互動,因此主要用到的技術是HTML5、Javascript、CSS等,只需要在 Android 和 iOS 直接寫個殼就好了,大大減小了開發成本,而且 Web 是實時渲染的,即使有 Bug ,可以直接釋出就好了。

今天主要分析混合開發(Hybrid App)的優劣勢以及一些經驗的分享。

混合開發的優劣勢

按照國內的實際情況來看,Hybrid App 是最多的移動端開發方式,並且目前已經有眾多 Hybrid App 開發成功應用,例如我們日常使用的微信、支付寶、淘寶、抖音等一系列高活躍 App 都是混合開發的代表。

為什麼 Hybrid App 會如此收到開發者的歡迎呢?我們不妨先比較下三種開發模式的特點:

特點

混合開發(Hybrid App)

純原生(Native App)

網頁應用(Web App)

語言

JAVA、Objective-C、Javascript、CSS等

JAVA、Objective-C等

Javascript、CSS等

學習難度

跨平臺效能

訪問相容性

高階圖形支援

熱更新支援度

使用體驗

從上表就能看出來混合開發處於純原生和網頁應用之間,是一個折中的方案,兼顧了純原生和網頁應用的優勢,但是學習成本也不是太高,適合大多數公司的實際情況。

基於混合開發模式的特點單獨分析的話,其優劣勢主要如下:

一、優勢

1、開發效率高,節約時間。同一套程式碼 Android 和 iOS 基本上都可使用;

2、更新和部署較便捷,每次升級版本只需在伺服器端升級即可,無需上傳到 App Store 稽核;

3、兼顧了部分原生的優秀操作體驗;

4、程式碼維護方便、版本更新快,節省產品成本;

5、比 Web版實現功能多;

6、可離線執行。

二、劣勢

1、功能/介面無法自定:所有內容都是固定的,不能換介面或增加功能;

2、載入緩慢/網路要求高:混合APP資料需要全部從伺服器調取,每個頁面都需要重新下載,因此開啟速度慢,網路佔用高,緩衝時間長,容易讓使用者反感;

3、安全性比較低:程式碼都是以前的老程式碼,不能很好地相容新手機系統,且安全性較低,網路發展這麼快,病毒這麼多,如果不實時更新,定期檢查,容易產生漏洞,造成直接經濟損失;

4、既懂原生開發又懂 H5 開發的高階人才難找。

混合開發的應用場景

哪些條件和情況選擇混合開發是具有較高價效比呢?哪些行業或場景是適合於混合開發模式的呢?

一些需要經常性開展更新內容的 App 是非常適合混合開發模式,另外對於小型團隊來講開發混合應用也是值得優先考慮的,首先是技術難度要求較低,其次開發的時間週期更短利於後續的維護。

具體到哪些行業和場景的話,我會認為電商、金融、資訊等行業會經常性的更新內容、活動,就非常適合用H5或小程式的形式進行承載,因此選擇混合開發模式是最合適不過的。

而對於遊戲、企業管理、物聯網等行業業務趨於平穩較少進行頻繁的發版,且需要兼顧使用者使用體驗選擇原生應用是更為妥當的選項。

此外,如果單從技術角度分析的話,許多企業都已經擁有 Web 開發技能,選擇混合開發方法,在合適解決方案的支援下,Web 開發者只要僅僅運用 HTML、CSS 和 JavaScript 等 Web 技能就能構建 App,並且使用 Web 語言編寫的所有程式碼都可以在不同的移動平臺之間共享,使得開發和日常維護過程變得集中式、更簡短、更經濟高效。

許多分析師也預測,混合開發未來也可能會成為開發前端 App 的預設技術。

更優質的混合開發模式

當然在混合開發模式下也有一些較為明顯的問題,其中之一就是 H5 頁面會經常出現白屏卡頓等問題,這是 HTML 5 的通病,會對使用者體驗造成極大影響,需要有針對性的制定深度最佳化方案才能勉強滿足業務要求。

借鑑網際網路巨頭的經驗現在可以以小程式來替代混合開發中 H5 頁面承載的業務,相較於H5主要的優勢如下:

  • 遠超過 H5 的體驗(支援本地快取,Webview,有豐富的元件與支援庫);
  • 能獲取更多系統許可權,完成更加豐富的產品設計;
  • 可以避免 DOM 洩露(不使用常用的 window 物件與 document 物件);
  • 包尺寸有效減少,節省流量和儲存;
  • 服務不再受發版所限制,支援熱更新。

也正是基於這個需求,逐步出現 小程式容器技術,能夠實現「原生+小程式」的混合開發模式,其實技術原理就是以非入侵性的方式把FinClip SDK嵌入到現有的 App,讓App 具備小程式執行能力,從而轉變為「原生+小程式」的混合開發模式。

這個模式也是符合使用者越來越重視各個產品使用體驗的趨勢,相信「原生+小程式」更優質的混合開發模式也會更多的受到開發者的關注和認可。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017183/viewspace-2924823/,如需轉載,請註明出處,否則將追究法律責任。

相關文章