国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

京東APP OpenHarmony 化的跨端開發探索

開發 前端
綜合來看,京東App適配 OpenHarmony 涉及的團隊和業務都非常多,適配難度也非常大。

?背景

2022.7.27日,在《開放原子全球開源峰會》-OpenHarmony分論壇上,京東作為分享嘉賓,為大家帶來了精彩的分享。京東積極擁抱 OpenHarmony,并參與 OpenHarmony 應用生態建設,分享中介紹了京東App適配 OpenHarmony 的探索,重點呈現了京東跨平臺方案Aotu Taro 和 JD MCube 在 OpenHarmony 上的實踐。

其中Aotu Taro 框架是業界領先的跨端跨框架解決方案,并在 OpenHarmony 開源項目組主導成立了 CrossPlatformUI-SIG,通過Aotu Taro 可以很便捷地開發、調試、發布鴻蒙及 OpenHarmony 應用,幫助開發人員快速構建鴻蒙及 OpenHarmony 應用。

JD MCube 框架是京東自研的原生動態化框架,覆蓋了京東app黃金流程業務,并賦能集團其他app,目前正在聯合京東集團內部力量進行共建,暫未對外開源。

精彩回顧

京東App技術架構總監蓋旭天為大家現場講解京東App適配復雜度和在OpenHarmony平臺的適配進展

圖片

圖片

由于論壇上分享時間有限,很多細節無法展現,Aotu Taro目前是開源項目,歡迎大家到社區參與共建。應眾多聽眾要求,這篇文章會細致的向大家介紹 暫未開源的JD MCube 框架在 OpenHarmony 的適配進展。

01京東App 適配現狀分析

我們對京東App 適配OpenHarmony 系統,從業務角度和技術棧角度進行了分析。

1.1 業務多樣性

目前京東App年度活躍用戶5.8億+,且90%以上都是通過客戶端下單。京東App作為京東的主應用,承接了京東集團內各個BG\BU的業務需求,業務形態眾多,需求迭代頻繁,每個迭代版本承接業務方需求3000+,對應的研發團隊規模上千人,分布在北京、上海、深圳、成都、南京等職場。在功能上,涵蓋用戶可見的復雜業務和用戶不可見的底層能力以及支撐App的周邊生態。

綜合來看,京東App適配 OpenHarmony 涉及的團隊和業務都非常多,適配難度也非常大。

1.2 技術棧多樣性

我們看一下京東App內所用到的技術棧。京東App內用到的技術棧也很多,主要包括原生、H5&小程序、跨端,占比分別是55%、40%、5%(其中RN、Flutter 占比較少,所以不展開介紹)。

在占比較多的原生、小程序、H5這部分,從代碼量看,原生代碼行數已經達到了千萬級,H5與小程序在App內代碼行數百萬級,所以通過重寫代碼來適配 OpenHarmony 幾乎不可能短期完成。

圖片

目前在原生開發方式上,我們自研的JD MCube 原生動態化框架在業務中覆蓋占比近50%,而且后續我們也會持續提高JD MCube 的占比;H5 & 小程序 目前主要是使用我們的 Aotu Taro 框架開發。分析看來,通過將JD MCube&Aotu Taro 適配到 OpenHarmony 可以極大降低整個App的適配工作量。

02JD MCube 動態化框架簡介

JD MCube 全景圖

圖片

簡單來說,JD MCube 使用統一的一套 DSL 來描述UI和事件,在各個平臺上進行解析并映射成各平臺的UI控件,最終渲染展示。具體可以參考我們之前發布的文章 京東App MCube動態化實踐 。

03JD MCube 適配 OH 探索

我們期望通過JD MCube 適配 OpenHarmony,為京東集團內應用快速遷移 OpenHarmony 平臺提供解決方案。

3.1 技術方案對比‘

在進行適配之前,我們先回顧下現有的 OpenHarmony UI 框架,現有的 UI 框架分為兩類:類 Web UI 范式和聲明式 UI 范式。(Java UI 后續不再更新維護,所以不再介紹)。

類Web UI 開發范式主要使用 HML + JS + CSS來搭建UI頁面和處理相關邏輯;聲明式 UI 開發范式基于擴展的 TS 語言(Ets)來開發,開發方式更類似 Flutter,通過改變數據來改變 UI 狀態。

接著我們和 OpenHarmony 技術專家基于我們的MCube實現原理進行了技術交流,他們提供了額外的選擇,利用更為底層的UI框架,使用C++相關API來完成UI的創建,再通過ETS的XComponent組件完成渲染。我們分別分析了使用這三種不同方案,應該怎么落地。

1. 類Web UI:使用此方案,需要 OpenHarmony 提供Dom Api,類似于React 的JSX,用于動態的創建和更新View,當數據改變需要更新View屬性時,需要開發者自己實現一套Diff機制來實現增量更新。

圖片

2. 聲明式UI: 使用此方案,需要 OpenHarmony 提供相關的 Ets 命令式API,用于動態的創建和更新View,當數據改變需要更新View屬性時,仍可以基于現有的狀態管理機制做到View的自動更新,開發者不需要額外處理。

圖片

3. C++ API: 使用此方案,由于目前這一層面的API還沒有對開發者暴露,需要 OpenHarmony 提供相應的開發環境,在View更新上,需要由開發者來實現狀態管理。并且由于該方案使用了較為底層的API, OpenHarmony 的技術專家擔心會對App及系統造成不穩定,不太建議該方案。

圖片

基于以上的分析,我們綜合對比了開發友好性、組件豐富度、UI 更新方式、以及 OpenHarmony 技術專家的建議,最終選擇使用聲明式UI 開發范式作為實施方案。 

圖片

3.2 落地情況及階段性成果

通過和 OpenHarmony 技術專家緊密配合,在臨時提供的SDK上,我們使用Ets命令式API,完成了JD MCube 模板解析 -> 數據綁定 -> 視圖映射 ->渲染流程,同時實現了通過修改數據源驅動視圖更新的邏輯。主要流程如下圖:

圖片

關鍵步驟詳解:

1、外層容器(Column)

首先創建一個容器,這里我們是用的 Column 組件,將模板文件解析命令發送至worker線程,在worker線程內解析模板文件并生成ViewNode Tree后,回調至主線程中。數據更新后,觸發容器的build,內部解析ViewNode Tree。

圖片

2、解析ViewNode -> View

每個ViewNode的名字對應一個視圖解析器,用于創建對應View和解析相關屬性。

圖片

ViewNode Tree 的解析入口,會遞歸解析ViewNode Tree,并會根據緩存來判斷是要創建一個View還是更新已有View的屬性。

創建View,其實是先構建了一個Row組件,內部調用解析方法,將構建出來的View添加到該Row組件上,同時也被添加到了最外層的Column上。

圖片

3、創建\更新View,屬性賦值

以 FlexboxLayout 和 TextView 解析器為例,通過命令式API,創建出對應Flex和Text組件并對其設置相應的屬性。這里需要注意的是,創建和更新的場景相應的代碼是一致的,其區別只是有沒有被添加到外層容器上。

圖片

圖片

效果

我們將xml模板文件+JSON數據通過上述流程之后,最終運行到了開發版上之后,渲染出了一個列表條目。 

圖片

目前我們在 OpenHarmony 平臺上,已通過Demo驗證了 JDMCube 框架適配 OpenHarmony 平臺的可行性。后續仍有很多工作要做,在和 Android\iOS 平臺功能對齊上,我們的自研表達式解析引擎、二進制編解碼、事件處理、模板管理、生命周期監聽等等仍需要改造適配至 OpenHarmony 平臺。在性能優化方面,模板文件的解析效率、使用命令式API創建和更新視圖的效率也是我們發力的重點。

3.3 后續規劃

大型APP適配 OpenHarmony 是北向應用生態面臨的重要課題。在技術上,京東將持續推進自研原生動態化框架JDMCube和跨端跨框架解決方案Aotu Taro適配 OpenHarmony 的進展,未來目標是作為應用低成本適配 OpenHarmony 平臺的技術方案,以助力行業發展與 OpenHarmony 應用生態繁榮。

責任編輯:未麗燕 來源: 京東零售技術
相關推薦

2024-03-14 11:06:37

JavaScript引擎探索

2020-11-05 10:05:25

App

2023-12-13 13:15:13

平臺開發實踐

2022-12-19 16:56:48

游戲開發鴻蒙

2022-10-08 16:26:23

APP應用開發

2022-11-02 18:47:46

場景模塊化跨棧

2022-08-03 09:58:03

跨端框架實踐

2015-07-17 07:39:44

搜索下拉框產

2015-05-13 10:09:39

移動跨平臺開發

2012-05-29 10:44:17

WebApp

2021-09-17 18:40:55

京東mPaaS移動端

2025-06-24 13:24:24

2015-09-28 09:46:50

暴雪營銷

2015-09-21 17:48:12

APICloudSublimeapicloud

2015-09-24 14:25:00

SublimeAPICloudAPP

2014-09-26 22:21:33

2023-06-13 15:00:54

環境搭建鴻蒙

2019-03-12 08:56:51

京東JDK大數據平臺

2024-10-15 08:14:51

2023-06-28 10:48:09

平臺框架高性能
點贊
收藏

51CTO技術棧公眾號

在线观看精品一区| 久久久久久尹人网香蕉| 欧美sm精品调教视频| a级高清视频欧美日韩| 亚洲国产欧美一区二区三区不卡| 欧美~级网站不卡| 午夜精品视频网站| 日韩欧美天堂| 国产精品视频大全| 欧美日韩亚洲一区| 国产伦理久久久| 国产亚洲精品bv在线观看| 国产精品.com| 久久精品免费观看| 亚洲欧美电影在线观看| 国产乱子轮精品视频| 久久久久久久久久久久久国产精品 | 亚洲mv大片欧洲mv大片| 99精品在线直播| 青青草原综合久久大伊人精品优势| 综合一区中文字幕| 2021国产精品久久精品| 最近最好的中文字幕2019免费| 在线免费视频一区二区| yellow在线观看网址| 91精品成人久久| 蜜臀av在线播放一区二区三区| www在线观看免费| 日本久久电影网| 欧美在线va视频| 91久久精品在线| 国产精品538一区二区在线| 1024手机看片国产| 亚洲加勒比久久88色综合| 亚洲永久av| 91网站在线看| 99精品欧美一区二区三区小说 | 希岛爱理av一区二区三区| 免费在线看黄色片| 一本色道**综合亚洲精品蜜桃冫| 日韩毛片在线| 视频一区视频二区视频三区高| 成人av在线网| 在线视频中文字幕第一页| 欧美在线免费看| 高清成人在线观看| 99在线视频影院| 91性高湖久久久久久久久_久久99| av综合在线播放| 永久免费网站在线| 国产欧美在线观看| 91丨porny丨国产| 日韩欧美一区二区三区免费观看 | 三级外国片在线观看视频| 久久久久久久一| 日韩精品免费专区| wwww.国产| 日韩成人在线电影网| 久久一本综合| 国产日韩在线| 国产午夜精品一区理论片飘花| 午夜精品毛片| 亚洲熟妇无码av在线播放| 91久久免费观看| 国产精品极品国产中出| 日本高清不卡一区二区三| 亚洲va天堂va国产va久| 欧美9999| 欧美自拍小视频| 亚洲欧洲一区二区三区在线观看| 午夜久久黄色| 国产igao激情在线入口| 中文字幕久精品免费视频| 欧美一级一区| 色网站在线看| 懂色av一区二区三区在线播放| 亚洲一区二区av在线| 台湾色综合娱乐中文网| 国产免费毛卡片| 色综合视频一区中文字幕| 丰满白嫩尤物一区二区| 国产精品亚洲综合在线观看 | 不要播放器的av网站| 永久免费精品影视网站| 国产一区二区看久久| 亚洲精品动漫| 女人体1963| 欧美熟乱第一页| 99精品欧美一区二区三区小说| 蜜桃精品在线| 成人午夜剧场免费观看完整版| 日本欧美中文字幕| 在线精品视频一区二区| 亚洲黄色免费| 亚洲精品三区| 在线免费国产| 亚洲精品国产一区| 中文字幕日韩av| 亚洲自拍偷拍欧美| 99riav国产精品| 国产日韩一区二区三免费高清| 四虎免费av| 国产免费一区| 欧美成人免费播放| 日韩欧美主播在线| 国产美女视频91| 久久午夜影院| 黄色污污视频在线观看| 97超超碰碰| 精品视频免费观看| 久久久女女女女999久久| 欧美亚洲精品一区| 国产精品乱子久久久久| 狠狠色丁香久久综合频道| 日韩一区精品| 免费a在线看| 粉嫩欧美一区二区三区| 国产肉体ⅹxxx137大胆| 国产伦精品一区二区三区视频黑人 | 色综合色综合久久综合频道88| 羞羞免费视频| 国产日韩欧美二区| 久久免费精品日本久久中文字幕| 精品国产伦一区二区三区观看体验| 中文字幕一区二区三区四区 | 亚洲国产成人av| 日本一区二区三区在线观看| 久久最新视频| 国产亚洲午夜| 天天久久综合| 日韩专区精品| 国产一区二区在线| 欧美一级三级| 日韩在线激情| 正在播放日韩精品| 簧片在线观看| 国产精品美女呻吟| 精品日本一区二区三区在线观看| 四虎免费在线观看视频| 丁香婷婷激情网| 成人欧美在线| 欧洲福利电影| 91麻豆精东视频| 日韩精品一区二区在线| 久久久亚洲精选| 国产香蕉一区二区三区| 五月天婷婷在线视频| 欧美裸体视频| 精品72久久久久中文字幕| 免费在线观看成人| 亚洲制服丝袜av| 欧美三级中文字| 久久成人人人人精品欧| 国产欧美日韩亚洲精品| 日本在线观看一区二区三区| 在线观看视频黄色| 一级片在线免费看| 亚洲开心激情| 国产精品亚洲综合一区在线观看| 久久99性xxx老妇胖精品| 欧美xo影院| 欧美日本精品| 亚洲一二三四在线观看| 久久激情五月丁香伊人| 欧美日韩日本网| 美女毛片在线看| 另类一区二区三区| 黄色一级片av| 友田真希在线| 亚洲男女网站| 成人免费视频免费观看| 日韩欧美久久一区| 国产精品高精视频免费| 99视频精品免费| 欧美特级www| 香港三级韩国三级日本三级| 中文字幕欧美人与畜| 9lporm自拍视频区在线| 成人欧美magnet| 91精品成人| 成人高清视频在线| 中文字幕永久在线不卡| 欧美日韩亚洲综合在线| 日韩一级视频免费观看在线| 色七七影院综合| 国产偷国产偷亚洲高清97cao| 北条麻妃在线观看| 国产高清不卡| 伊人情人综合网| 中文字幕欧美国产| 欧美成人video| 欧美在线观看网址综合| 欧美激情视频免费看| 快射av在线播放一区| av影片在线一区| 国产精品二三区| 久久久精品美女| www.激情网| 8x8ⅹ拨牐拨牐拨牐在线观看| 欧美亚洲网站|