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

来源: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
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...