原生開發能不能動態化?如何選擇動態能力建設的流派

沒有使用者名稱丶發表於2023-04-13

移動網際網路的普及,移動端被各類原生應用所佔據,而這些應用更近似於 Software,依託於應用市場進行更新,只有其中的資料是實時的。這樣,每次產品的更新,必須依賴使用者的主動更新,從而造成了一定的使用者成本,不利於產品的快速迭代,降低應用的試錯能力。因此,移動端動態化方案逐漸走進大家的視野,並被大家所關注。

“動態化”並不是最近幾年才產生的名詞,而是從從網際網路誕生的初期,這個詞就已經出現了。大家所認知的早期網際網路,其實就是各種各類的“動態網站”,內容資料和頁面外觀都不是固定的,都是隨著伺服器端的更新而更新的,讓使用者可以很及時地看到最新的內容。因此,動態化可以說是網際網路的標誌,是網際網路最核心的特性之一。

從一開始基於 WebView 的 Hybrid 方案 PhoneGap、Titanium,到現在與原生相結合的 React Native 、Weex,甚至 Flutter,都被或多或少地使用到不同的移動應用中。

原生開發能不能動態化?準確的說是能的,而且 Android 平臺各公司都有很完善的動態化方案,甚至 Google 還提供了 Android App Bundles 讓開發者們可以更好地支援動態化。而反觀 iOS,由於 Apple 官方擔憂動態化的風險,因此並不太支援動態化(去年還封殺了 JSPatch 等一類動態修復方案),因此比較通用的原生動態化方案几乎沒有,只有各大廠自己實現的一些動態化框架。

動態能力建設方向流派眾多

如何選擇動態能力建設的流派,主要從研發成本、相容性、動態能力、穩定性、操作體驗等方面判斷,需要根據團隊的實際情況來進行選擇。

簡單敘述一下動態化能力建設的主要流派:

1、React-Native

  • 優點:歷史悠久、資料豐富、學習楷模
  • 缺點:相容性一直被詬病,坑太多玩不動
  • 典型代表:Facebook、Linkedin

2、原生+H5

  • 優點:平衡性佳、研發可控能力好
  • 缺點:原生部分動態能力欠缺
  • 典型代表:Hybrid方式依然佔據大部分市場

3、原生+小程式(另一種Hybrid方式)

  • 優點:同樣擁有平衡性和研發可控性的優點,體驗接近原生,小程式的效能是有目共睹的
  • 缺點:與h5一樣原生部分動態能力欠缺
  • 典型代表:依然是Hybrid方式,微信、支付寶、美團、FinClip

4、weex flutter

  • 優點:效能動態能力兼顧
  • 缺點:開發成本高、異構風險大、IDE體系弱
  • 典型代表:阿里系

5、H5化

  • 優點:節省開發資源,動態性最好
  • 缺點:相容性問題多,體驗尚與原生有差距
  • 典型代表:騰訊系

當然也有純原生的,所剩無幾就不討論了。

動態化流派眾多,各有利弊,沒有最好,各個團隊需要根據自己的專案選擇最合適的方式。以我們團隊為例,目前選擇了Native+小程式的結合,透過在APP中引入 FinClip小程式容器技術,讓App具備小程式執行的環境。從而實現這種基於小程式的Hybrid的方案。以下簡單介紹一下Native+小程式的模式有哪些優點:

首先基於小程式的Hybrid方案,是透過更加定製化的 JSBridge,並使用雙 WebView 雙執行緒的模式隔離了JS邏輯與UI渲染,形成了特殊的開發模式,加強了 H5 與 Native 混合程度,提高了頁面效能及開發體驗。

小程式執行時本質上是一個處理Web頁面渲染、資料邏輯互動的虛擬機器,這個虛擬機器提供了豐富的原生能力供小程式呼叫(API、元件、AI能力等),極大的擴充了Web應用的能力邊界,尤其是在諸如滾動檢視(scrool-view)、導航(navigator)、圖片預覽(cover-image)等元件的提供,使得前端開發人員在使用現有的web前端技術,就可以開發出接近原生體驗的應用。

除了體驗的大大提升,基於小程式的動態化方案相比其他方案,還有以下優勢:

跨平臺:小程式可以在微信、支付寶等平臺中執行,具有良好的跨平臺性,可以在不同的平臺上進行應用開發和釋出。

無需下載安裝:小程式不需要下載和安裝,使用者可以直接透過掃描二維碼或搜尋即可進入應用,降低了使用者的使用成本和門檻。

快速迭代:小程式可以實現動態更新,開發人員可以隨時更新應用的業務邏輯和介面互動邏輯,快速迭代和最佳化應用,提高使用者體驗。

靈活性:小程式使用的是基於HTML、CSS和JavaScript的開發方式,支援動態化配置和定製,開發人員可以根據使用者需求進行個性化的應用定製。

低成本:小程式的開發成本相對較低,可以透過第三方小程式開發平臺或開發工具快速搭建應用,降低了應用開發的成本和門檻。


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

相關文章