新人必看| 移動端“動態化”是什麼意思?

来源:https://www.cnblogs.com/lydia77/archive/2023/04/12/17310545.html
-Advertisement-
Play Games

蘋果在iOS16.1系統對第三方開放了靈動島的API,並允許開發者基於靈動島開發相應軟體,越來越多的APP開始基於靈動島的交互進行設計和開發,本文將簡單介紹靈動島開發的流程和將其與業務場景相結合的思考。 ...


在移動開發領域,為了讓APP保持最新的版本,同時讓業務開發變得更加快捷,動態化技術極其重要。今天就來聊聊移動端動態和開發的由來和各流派的優缺點。

移動端動態化的由來

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

而移動互聯網的普及,移動端被各類原生應用所占據,而這些應用更近似於 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的開發方式,支持動態化配置和定製,開發人員可以根據用戶需求進行個性化的應用定製。

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

基於小程式的動態化方案具有跨平臺、快速迭代、靈活性、低成本等優勢,適用於中小型企業或個人開發者開發輕量級應用的場景。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、貝葉斯定理 貝葉斯定理是關於隨機事件A和B的條件概率,生活中,我們可能很容易知道P(A|B),但是我需要求解P(B|A),學習了貝葉斯定理,就可以解決這類問題,計算公式如下: P(A)是A的先驗概率 P(B)是B的先驗概率 P(A|B)是A的後驗概率(已經知道B發生過了) P(B|A)是B的後驗 ...
  • 數據開發基本都是從陌生到熟悉,但是寫多了就會發現各種好用的工具/函數,也會發現各種坑,本文分享了作者從拿到數據到數據開發到數據監控的一些實操經驗。 ...
  • 摘要:對於資料庫來說,性能一直被視為最關鍵的部分。GaussDB作為華為自主創新研發的分散式關係型資料庫,那麼華為雲資料庫GaussDB在提升資料庫性能方面都有哪些黑科技呢? 本文分享自華為雲社區《【雲圖說】第275期 雲資料庫GaussDB如何做到卓越性能》,作者:閱識風雲。 對於資料庫來說,性能 ...
  • ☞ 商品介面的定義 價格、庫存量、發貨地點等。此外,它還可以提供商品的詳細信息,包括商品的圖片、詳細描述、規格參數、售後服務等。這些信息可以幫助用戶更好地瞭解商品,從而更好地選擇商品。 其次,電商平臺商品詳情介面的實現原理是基於RESTful API。RESTful API是一種基於HTTP協議的A ...
  • 回顧大數據的發展歷程,一句話概括就是海量數據的高效處理。在當今快節奏、不斷變化的市場環境下,優秀的開發效率已經成為企業數字化轉型的必備條件。 數棧離線開發BatchWorks 是一款專註離線數據ELT開發的產品,採用先進的大數據生態底層技術,具備高性能且功能豐富的大數據處理能力,對大數據離線計算、數 ...
  • 4月7-8日,年度資料庫行業盛會——2023數據技術嘉年華(DTC 2023)如期而至。 此次盛會匯聚了全國各地數千名數據領域學術精英、領袖人物、技術專家、從業者和技術愛好者,共同見證行業蓬勃發展、生態融合共贏、技術迭代升級及市場風雲變遷。 GreatSQL作為萬里資料庫主導成立的開源資料庫社區,首 ...
  • 在Oracle資料庫中,如果我們使用用戶管理備份與恢復(User-Managed Backup and Recovery)方式去備份還原資料庫的話,如何獲取用戶管理備份與恢復的記錄信息呢?例如,我要查看某個資料庫實例做用戶管理備份的記錄。一般使用下麵腳本。似乎用戶管理備份比較“簡單”,目前我查了相關 ...
  • Redis 構造了多種底層數據結構供使用,不同的數據類型有可能使用到多種底層數據結構存儲,因此,需要理解為何 Redis 會有這樣的設計,理解每個底層數據結構的概念之後,就能知曉在極端性能上如何做取捨。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...