京東小程式平臺助力快送實現跨端

来源:https://www.cnblogs.com/jingdongkeji/archive/2023/10/19/17775248.html
-Advertisement-
Play Games

小程式作為一種輕量級、便捷、個性化的應用形態,可塑性非常強,其強大功能、低研發成本能夠有效助力快送實現跨端。達達快送接入京東小程式項目取得了多方面顯著的成果,這也為其他企業在接入小程式時提供了有益的借鑒和參考。 ...


前言:

京東小程式開放平臺是由京東自主研發的開發者開放平臺,類似於微信和支付寶的小程式開放平臺,提供了豐富的開放能力和完整的小程式開發生命周期所需的功能。開發者可以輕鬆地使用開發者工具IDE進行開發、調試、預覽和代碼轉換,併在控制台進行線上小程式發佈、審核、灰度、AB測試等流程,此外還可以在管理後臺監控小程式的異常、性能、業務數據。

小程式作為一種輕量級、便捷、個性化的應用形態,可塑性非常強,其強大功能、低研發成本能夠有效助力快送實現跨端。達達快送接入京東小程式項目取得了多方面顯著的成果,這也為其他企業在接入小程式時提供了有益的借鑒和參考。

背景:

快送是給商家和個人用戶發佈同城運單的應用,包含小程式(7個渠道)和app(2個)、PC、h5、開放平臺共15個端。

快送概況:

常規做法每端獨立開發一套代碼,這樣的做法優勢定製強分開迭代互不影響,不足:成本高,體驗不一致。由於PC和H5基本不迭代,所以優先考慮的是小程式和app這2塊是否有機會點。通過跨端來實現提高效率降低研發成本的目的。

1.1 小程式跨端

19年跨端情況:

由於19年跨端方案不成熟,當時是自研工具通過編譯時方案解決小程式跨端,完成了7個小程式統一一套代碼。

1.2 app引入h5跨端

探索app跨端:

當時探索了2個方向:h5和flutter

flutter:如果需要使用到主流程,現有功能需要用flutter重新開發一套,遷移成本高。

h5:接入成本低,但是體驗差,載入速度慢,所以只用在一些非核心流程和一些活動頁面(占15%),無法使用到主流程。

快送app跨端-h5方案

後續跨端在快送端的方向在哪裡?是否還有機會點?

現在各平臺小程式是一套代碼,ios和android 95%的迭代還是2套代碼。

微信小程式、ios、android 三端是否可以統一一套?攻剋主流程最重要的是轉化率不能下降

行動

1.1 方案調研選型

集團跨端平臺

基於和京東集團融合的大背景下,我們重點調研了集團的跨端方案。具瞭解集團有4個跨端方案,如下:
image

基於以上調研,我們初步判斷小程式方案是比較可行的方案,所以我們對小程式方案做進一步調研。

小程式調研

調研主要分3部分,全面瞭解、Demo測試性能、線上測試穩定性。

1.京東小程式在京東內部各業務線的使用情況

•有成熟業務和主流程在使用

•有專門的團隊維護

image

保險業務受到國家合規限制,如果在主站內想要滿足國家合規要求,需要前後端都做大量改動,成本較高,京東小程式平臺是一個開放的開發者平臺,本身具有獨立性和高度可定製化能力,可以底層本的滿足國家合規要求。

image

2.通過demo對性能做測試(包括地圖效果)

結論:高端和低端機型都是秒開,效果趨近原生體驗,特別地圖拖拽和載入效果和原生效果是一致的。

3.上線“價格明細”頁面收集用戶實際數據

由於“價格明細”頁面帶有地圖且使用頻率也不低,重點是這個頁面不阻塞主流程。用來做線上測試頁面最為合適。

結論:第一版降級率5%,但是想要大規範應用降級率需要控制在1%之內,所以對線上情況監控,數據分析等找到問題原因並優化最終降級率控制在0.3%之內。

1.2 難點攻剋

如何讓用戶完全無感知自己進入的是小程式頁面還是原生頁面?

市面上小程式模式都是獨立形態存在,比如微信小程式的每一個業務小程式都是有完整的業務功能,小程式的載入有一個完整獨立的流程,不受宿主App的控制,我們這邊期望將小程式嵌入到流程中,不被用戶感知,同時希望能夠控制小程式中的載入時機,提升載入速度,這就需要快送團隊和京東小程式平臺團隊共同努力,使用一種新的小程式模式,來滿足以上兩點需求。

如何儘可能的降低上下游的影響?

由於業務後端和運營平臺之前有一些場景是根據端來做一些差異化管理。還有app上的埋點數據和小程式上的埋點是不統一的,數據報表也是分開的。為了減少對系統上下游的影響,我們需要根據不同場景做不同的處理。

1.3 如何規避風險

如何應對合規風險?新政策變更導致無法使用小程式我們的業務是否出現停擺?

app只維護髮單的基礎功能做兜底,一季度一兜底,如果情況有變可以快速切換回原生,來規避業務停擺風險。平時原生頁面只用作於極端情況下的降級使用。

進展

目前已經完成調研和詳情頁的接入,降級率低於1%,業務轉化率不下降。從訂單詳情頁為例,我們重點關註4個業務指標“修改訂單”、“詳情支付”、“取消訂單”、“加小費”。這是訂單詳情頁比較核心的4個操作,從使用情況數據來看,業務轉化率不下降。

階段性成果:

規劃

哪些模塊適用小程式跨端?從幾個維度來考量?

1.是否合規---應用市場審核是否可以通過,如首頁如果不是原生的蘋果應用市場直接審核不通過。

2.後期是否還會高頻迭代---如一路多單都不迭代,沒必要遷移小程式

3.流程是否內部閉環---和原生交互越多後續維護成本越高(登陸、支付)

1.成本:80%的迭代實現3端一套代碼,預計節約2HC人力

2.穩定性:縮短線上問題收斂時間--14天縮短到1天

3.效率:縮短新功能驗證時間--縮短58%(53天縮短到22天)

附件:

卡片效果

原生和小程式體驗效果對比:

作者:京東零售 王慧晶

來源:京東雲開發者社區 轉載請註明來源


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

-Advertisement-
Play Games
更多相關文章
  • 前言 該方案實現的效果就是通過指定用戶名可以直接ssh連接到某個linux機器中的chroot開發環境,在 ubuntu 22.04 環境測試通過 流程 首先我們需要有個現成的 chroot 環境,我這裡是 debian10-aarch64 文件夾,如果你沒有可以參考我先前的文章製作一個: http ...
  • 前言 我的主力環境是 Windows 系統,但是同樣需要維護一些 linux 工程代碼。一般情況下,只需要開個 vmware 虛擬機,裝個 linux 系統就可以進行修改,編譯和調試操作,但是有時候我卻需要對 linux 真機環境進行遠程調試,這時候如果能直接在 windows 系統載入 linux ...
  • AutoSSH 是一種用以對 SSH 登錄進行安全地自動化的軟體。! 比如我們在 host2 機器上面部署了很多服務,但是由於某種原因導致我們無法直接 ssh 訪問該伺服器已經其上服務的對應埠,但是 host3 伺服器,既能夠訪問 host2 伺服器,又可以訪問我們的 host1 伺服器。這是,我 ...
  • 哈嘍大家好,我是鹹魚 不知道大家在日常學習或者工作當中用 dig 命令多不多 dig 是 Domain Information Groper 的縮寫,對於網路管理員和在功能變數名稱系統(DNS)領域工作的小伙伴來說,它是一個非常常見且有用的工具。 無論是簡單的 DNS 解析查找還是更高級的故障排除和分析,d ...
  • 為了提高 Web 應用程式和數據驅動服務的性能與效率,使用 Redis 或 Amazon ElastiCache 來作為緩存加速已經是業界主流的解決方案。隨著業務規模的增長,其需要處理的數據越來越多,使用有效的緩存機制更是尤為重要,如何選擇適合的緩存解決方案呢? ...
  • 上傳hadoop-3.3.4.tar.gz到/export/server 解壓 tar -zxvf hadoop-3.3.4.tar.gz -C /export/server/ # 快捷方式 ln -s /export/server/hadoop-3.3.4 hadoop Hadoop安裝包目錄結構 ...
  • 寫分頁查詢介面,order by和limit混用的時候,出現了排序的混亂情況 在進行第N頁查詢時,出現與第一前面頁碼的數據一樣的記錄。 ...
  • 本文分享自華為雲社區《GaussDB(DWS)性能調優:不等值關聯優化》,作者: 門前一棵葡萄樹。 場景1 使用場景:本案例適合滿足以下條件的場景 關聯條件使用OR連接 關聯條件中使用同一列做數據篩選 原始語句 SELECT t2.PARTNER_CHANNEL_CODE AS CHANNEL_ID ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...