精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

京東APP OpenHarmony 化的跨端開發(fā)探索

開發(fā) 前端
綜合來看,京東App適配 OpenHarmony 涉及的團(tuán)隊(duì)和業(yè)務(wù)都非常多,適配難度也非常大。

?背景

2022.7.27日,在《開放原子全球開源峰會(huì)》-OpenHarmony分論壇上,京東作為分享嘉賓,為大家?guī)砹司实姆窒怼>〇|積極擁抱 OpenHarmony,并參與 OpenHarmony 應(yīng)用生態(tài)建設(shè),分享中介紹了京東App適配 OpenHarmony 的探索,重點(diǎn)呈現(xiàn)了京東跨平臺(tái)方案Aotu Taro 和 JD MCube 在 OpenHarmony 上的實(shí)踐。

其中Aotu Taro 框架是業(yè)界領(lǐng)先的跨端跨框架解決方案,并在 OpenHarmony 開源項(xiàng)目組主導(dǎo)成立了 CrossPlatformUI-SIG,通過Aotu Taro 可以很便捷地開發(fā)、調(diào)試、發(fā)布鴻蒙及 OpenHarmony 應(yīng)用,幫助開發(fā)人員快速構(gòu)建鴻蒙及 OpenHarmony 應(yīng)用。

JD MCube 框架是京東自研的原生動(dòng)態(tài)化框架,覆蓋了京東app黃金流程業(yè)務(wù),并賦能集團(tuán)其他app,目前正在聯(lián)合京東集團(tuán)內(nèi)部力量進(jìn)行共建,暫未對(duì)外開源。

精彩回顧

京東App技術(shù)架構(gòu)總監(jiān)蓋旭天為大家現(xiàn)場(chǎng)講解京東App適配復(fù)雜度和在OpenHarmony平臺(tái)的適配進(jìn)展

圖片

圖片

由于論壇上分享時(shí)間有限,很多細(xì)節(jié)無法展現(xiàn),Aotu Taro目前是開源項(xiàng)目,歡迎大家到社區(qū)參與共建。應(yīng)眾多聽眾要求,這篇文章會(huì)細(xì)致的向大家介紹 暫未開源的JD MCube 框架在 OpenHarmony 的適配進(jìn)展。

01京東App 適配現(xiàn)狀分析

我們對(duì)京東App 適配OpenHarmony 系統(tǒng),從業(yè)務(wù)角度和技術(shù)棧角度進(jìn)行了分析。

1.1 業(yè)務(wù)多樣性

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

綜合來看,京東App適配 OpenHarmony 涉及的團(tuán)隊(duì)和業(yè)務(wù)都非常多,適配難度也非常大。

1.2 技術(shù)棧多樣性

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

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

圖片

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

02JD MCube 動(dòng)態(tài)化框架簡(jiǎn)介

JD MCube 全景圖

圖片

簡(jiǎn)單來說,JD MCube 使用統(tǒng)一的一套 DSL 來描述UI和事件,在各個(gè)平臺(tái)上進(jìn)行解析并映射成各平臺(tái)的UI控件,最終渲染展示。具體可以參考我們之前發(fā)布的文章 京東App MCube動(dòng)態(tài)化實(shí)踐 。

03JD MCube 適配 OH 探索

我們期望通過JD MCube 適配 OpenHarmony,為京東集團(tuán)內(nèi)應(yīng)用快速遷移 OpenHarmony 平臺(tái)提供解決方案。

3.1 技術(shù)方案對(duì)比‘

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

類Web UI 開發(fā)范式主要使用 HML + JS + CSS來搭建UI頁(yè)面和處理相關(guān)邏輯;聲明式 UI 開發(fā)范式基于擴(kuò)展的 TS 語(yǔ)言(Ets)來開發(fā),開發(fā)方式更類似 Flutter,通過改變數(shù)據(jù)來改變 UI 狀態(tài)。

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

1. 類Web UI:使用此方案,需要 OpenHarmony 提供Dom Api,類似于React 的JSX,用于動(dòng)態(tài)的創(chuàng)建和更新View,當(dāng)數(shù)據(jù)改變需要更新View屬性時(shí),需要開發(fā)者自己實(shí)現(xiàn)一套Diff機(jī)制來實(shí)現(xiàn)增量更新。

圖片

2. 聲明式UI: 使用此方案,需要 OpenHarmony 提供相關(guān)的 Ets 命令式API,用于動(dòng)態(tài)的創(chuàng)建和更新View,當(dāng)數(shù)據(jù)改變需要更新View屬性時(shí),仍可以基于現(xiàn)有的狀態(tài)管理機(jī)制做到View的自動(dòng)更新,開發(fā)者不需要額外處理。

圖片

3. C++ API: 使用此方案,由于目前這一層面的API還沒有對(duì)開發(fā)者暴露,需要 OpenHarmony 提供相應(yīng)的開發(fā)環(huán)境,在View更新上,需要由開發(fā)者來實(shí)現(xiàn)狀態(tài)管理。并且由于該方案使用了較為底層的API, OpenHarmony 的技術(shù)專家擔(dān)心會(huì)對(duì)App及系統(tǒng)造成不穩(wěn)定,不太建議該方案。

圖片

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

圖片

3.2 落地情況及階段性成果

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

圖片

關(guān)鍵步驟詳解:

1、外層容器(Column)

首先創(chuàng)建一個(gè)容器,這里我們是用的 Column 組件,將模板文件解析命令發(fā)送至worker線程,在worker線程內(nèi)解析模板文件并生成ViewNode Tree后,回調(diào)至主線程中。數(shù)據(jù)更新后,觸發(fā)容器的build,內(nèi)部解析ViewNode Tree。

圖片

2、解析ViewNode -> View

每個(gè)ViewNode的名字對(duì)應(yīng)一個(gè)視圖解析器,用于創(chuàng)建對(duì)應(yīng)View和解析相關(guān)屬性。

圖片

ViewNode Tree 的解析入口,會(huì)遞歸解析ViewNode Tree,并會(huì)根據(jù)緩存來判斷是要?jiǎng)?chuàng)建一個(gè)View還是更新已有View的屬性。

創(chuàng)建View,其實(shí)是先構(gòu)建了一個(gè)Row組件,內(nèi)部調(diào)用解析方法,將構(gòu)建出來的View添加到該Row組件上,同時(shí)也被添加到了最外層的Column上。

圖片

3、創(chuàng)建\更新View,屬性賦值

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

圖片

圖片

效果

我們將xml模板文件+JSON數(shù)據(jù)通過上述流程之后,最終運(yùn)行到了開發(fā)版上之后,渲染出了一個(gè)列表?xiàng)l目。 

圖片

目前我們?cè)?OpenHarmony 平臺(tái)上,已通過Demo驗(yàn)證了 JDMCube 框架適配 OpenHarmony 平臺(tái)的可行性。后續(xù)仍有很多工作要做,在和 Android\iOS 平臺(tái)功能對(duì)齊上,我們的自研表達(dá)式解析引擎、二進(jìn)制編解碼、事件處理、模板管理、生命周期監(jiān)聽等等仍需要改造適配至 OpenHarmony 平臺(tái)。在性能優(yōu)化方面,模板文件的解析效率、使用命令式API創(chuàng)建和更新視圖的效率也是我們發(fā)力的重點(diǎn)。

3.3 后續(xù)規(guī)劃

大型APP適配 OpenHarmony 是北向應(yīng)用生態(tài)面臨的重要課題。在技術(shù)上,京東將持續(xù)推進(jìn)自研原生動(dòng)態(tài)化框架JDMCube和跨端跨框架解決方案Aotu Taro適配 OpenHarmony 的進(jìn)展,未來目標(biāo)是作為應(yīng)用低成本適配 OpenHarmony 平臺(tái)的技術(shù)方案,以助力行業(yè)發(fā)展與 OpenHarmony 應(yīng)用生態(tài)繁榮。

責(zé)任編輯:未麗燕 來源: 京東零售技術(shù)
相關(guān)推薦

2024-03-14 11:06:37

JavaScript引擎探索

2023-12-13 13:15:13

平臺(tái)開發(fā)實(shí)踐

2020-11-05 10:05:25

App

2022-10-08 16:26:23

APP應(yīng)用開發(fā)

2022-12-19 16:56:48

游戲開發(fā)鴻蒙

2022-11-02 18:47:46

場(chǎng)景模塊化跨棧

2022-08-03 09:58:03

跨端框架實(shí)踐

2015-07-17 07:39:44

搜索下拉框產(chǎn)

2015-05-13 10:09:39

移動(dòng)跨平臺(tái)開發(fā)

2012-05-29 10:44:17

WebApp

2021-09-17 18:40:55

京東mPaaS移動(dòng)端

2025-06-24 13:24:24

2023-06-13 15:00:54

環(huán)境搭建鴻蒙

2024-05-14 08:33:57

Native API鴻蒙工具

2024-01-18 15:24:06

Rust開發(fā)鴻蒙OH4.0

2019-03-12 08:56:51

京東JDK大數(shù)據(jù)平臺(tái)

2015-09-28 09:46:50

暴雪營(yíng)銷

2015-09-24 14:25:00

SublimeAPICloudAPP

2014-09-26 22:21:33

2015-09-21 17:48:12

APICloudSublimeapicloud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产精品国产三级国产aⅴ| 亚洲色图14p| 四虎亚洲精品| 99riav一区二区三区| 国产不卡在线观看| 久久成人小视频| 激情小说一区| 欧美日本国产视频| aa视频在线播放| 淫片在线观看| 91免费在线播放| 2019国产精品视频| 免费一级a毛片| 在线成人www免费观看视频| 在线日韩日本国产亚洲| 国产精品麻豆入口| 国产精品igao视频网网址不卡日韩| 欧美日韩国内自拍| 2025韩国大尺度电影| 外国精品视频在线观看 | 久久人人97超碰com| 亚洲www永久成人夜色| 中文字幕69页| 伊人天天综合| 欧美高清视频在线播放| 天堂网av2018| 国产欧美日韩免费观看| 亚洲精品999| 久久久久99人妻一区二区三区| yw.尤物在线精品视频| 欧美日韩国产激情| 日韩精品一区二区在线视频| 九色porny在线| 中文字幕国产一区二区| 九九99玖玖| 蜜臀av午夜精品| 国产精品一区在线| 91人成网站www| 91中文字幕在线视频| 日韩福利电影在线观看| 日韩av不卡在线| 免费观看一区二区三区毛片| 伊人成人在线| 久久久久久久999精品视频| 视频国产一区二区| 忘忧草精品久久久久久久高清| 一本一道久久a久久精品逆3p| 免费黄色三级网站| 开心激情综合| 精品香蕉一区二区三区| 9.1成人看片| 亚洲精华一区二区三区| 日韩精品在线看| 成人无码www在线看免费| 欧美电影在线观看完整版| 亚洲精品在线免费观看视频| 欧美一级大片免费看| 一区二区三区四区高清视频| 精品欧美一区二区久久| 国产精品果冻传媒| 国产精品中文字幕制服诱惑| 亚洲国产精品电影在线观看| 中文字幕在线播放视频| 日本成人中文| 国产午夜精品视频免费不卡69堂| 天堂久久精品忘忧草| 精品视频亚洲| 久久精品中文字幕| 欧美成人精品激情在线视频| 欧美三级第一页| 91禁国产网站| 激情网站在线观看| 美女www一区二区| 亚洲一区二区三区sesese| www.四虎在线观看| 91一区二区三区在线观看| 欧美不卡福利| 91免费在线| 洋洋av久久久久久久一区| 黄页网站在线观看视频| 久久sese| 欧美一区二区在线免费观看| 国产污在线观看| 精品国产a一区二区三区v免费| 中文字幕亚洲综合| 久久久久久久久久91| 999在线观看精品免费不卡网站| 欧美怡春院一区二区三区| 在线观看国产小视频| 国产成人综合精品三级| 久久久久久艹| 免费黄色电影在线观看| 亚洲午夜精品在线| 免费看污污网站| 国产精品美女在线观看直播| 伊人久久免费视频| 国产一级片免费| 人人狠狠综合久久亚洲| 高清一区二区三区视频| 国产福利在线观看| 亚洲风情在线资源站| 亚洲色图 在线视频| 成人av资源网址| 色yeye香蕉凹凸一区二区av| 国产精品美女久久久久av爽| 九九**精品视频免费播放| 久久国产主播精品| 羞羞视频在线免费国产| 在线视频欧美区| 亚洲色图欧美另类| 婷婷六月综合| 国产精品h在线观看| 国模无码一区二区三区| 专区另类欧美日韩| 日韩一级免费在线观看| 国产无遮挡裸体免费久久| 久久精品久久久久电影| av网站中文字幕| 成人av高清在线| 久久久久久久久网| 成人亚洲综合| 亚洲欧美中文在线视频| 日韩黄色a级片| 国产精品资源网站| 亚洲欧美日韩综合一区| 色天使综合视频| 日韩精品中文在线观看| 国产一级av毛片| 国产一区二区三区香蕉| 亚洲欧洲日韩综合二区| 亚洲成人av观看| 亚洲老头同性xxxxx| 自拍偷拍欧美亚洲| 大陆成人av片| 青青在线视频免费观看| 91成人短视频在线观看| 最近免费中文字幕视频2019| www.亚洲激情| 日本一区二区视频在线| 成人精品视频一区二区| 免费精品国产的网站免费观看| 97成人精品视频在线观看| 亚洲乱熟女一区二区| 亚洲精品美国一| 午夜诱惑痒痒网| 久久久久久久久久久9不雅视频| 国产精品美乳一区二区免费| jizz在线观看视频| 欧美日韩成人综合在线一区二区| 91视频免费看片| 六月婷婷色综合| 中文字幕av日韩精品| 国产999精品在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 一区二区三区亚洲视频| 国产精品国产精品国产专区不片| 中文字幕永久有效| 综合久久精品| 国产精品亚洲一区| 午夜不卡影院| 在线观看久久av| 一区二区精品视频在线观看| 玉足女爽爽91| 国产夫妻性爱视频| 日韩在线播放一区二区| 亚洲精品中字| 免费欧美网站| 97国产精品视频| 成人在线免费电影| 678五月天丁香亚洲综合网| 老司机深夜福利网站| 国内精品免费在线观看| 久草视频这里只有精品| 亚洲婷婷丁香| 91精品视频一区| 2020av在线| 国产一区二区三区直播精品电影 | 草草视频在线| 国产亚洲精品久久久优势| 一区二区 亚洲| 亚洲成人久久影院| 波多野在线播放| 国产一区欧美日韩| 大j8黑人w巨大888a片| 成人羞羞视频在线看网址| 91色视频在线观看| 亚洲精品一区| xxxx性欧美| 天天摸天天干天天操| 欧美三级一区二区| 精品无码久久久久久久| 国产亚洲综合av| 精品人妻一区二区三| 国产乱码精品| 中文字幕一区二区三区四区五区人| 粉嫩的18在线观看极品精品| 国产精品久久久久久久久久久不卡| 4438x成人网全国最大| 亚洲美女在线观看| 北条麻妃一二三区| 欧美性受xxxx| 国产精品视频久久久久久久| 国产精品国产三级国产普通话蜜臀| 欧产日产国产精品98| 韩日av一区二区| 亚洲国产精品毛片av不卡在线| 欧美日本中文| 一区二区av| 九一国产精品| 国产精品久久亚洲7777| 九九久久国产| 日本中文字幕久久看| 国产丝袜视频在线播放| 日韩亚洲综合在线| 国内三级在线观看| 亚洲韩国日本中文字幕| 国产视频第二页| 欧美在线你懂的| 日本韩国欧美中文字幕| 亚洲一区视频在线| 日韩高清dvd碟片| 国产精品毛片久久久久久| 无遮挡aaaaa大片免费看| 高清av一区二区| 永久免费黄色片| 久久91精品久久久久久秒播| 无码人妻精品一区二区三区66| av成人毛片| 欧美亚洲黄色片| 欧美日韩成人| 国产美女作爱全过程免费视频| 91精品国产调教在线观看| 亚洲国产一区二区精品视频| 国产精品一区高清| 欧美伦理一区二区| 亚洲宅男网av| 免费成人深夜夜行视频| 日韩欧美影院| 久久久久欧美| 天天躁日日躁成人字幕aⅴ| 国新精品乱码一区二区三区18| 亚洲网一区二区三区| 亚洲综合中文字幕在线观看| 99精品女人在线观看免费视频 | 九九精品视频在线观看| 黄色大片在线播放| 伦理中文字幕亚洲| 影音先锋中文在线视频| 欧美成人自拍视频| 国产黄色大片在线观看| 欧美高清视频在线观看| xxxx成人| 91a在线视频| 性欧美1819sex性高清| 国产精品99导航| 亚洲精品伊人| 97netav| ccyy激情综合| 久久精品丝袜高跟鞋| 岳的好大精品一区二区三区| 日本精品一区二区| 无码一区二区三区视频| 成人在线免费观看网址| 黑人一区二区三区四区五区| 你真棒插曲来救救我在线观看| 亚洲激情社区| 亚洲男人天堂色| 精品夜夜嗨av一区二区三区| 免费不卡av网站| 成人av资源网站| 亚洲精品乱码久久久久久久久久久久 | 国产精品永久在线| 欧美黄色一级| 久久精品99| 久久影视一区| 真人抽搐一进一出视频| 久久久久久黄| 日韩av影视大全| 99精品国产99久久久久久白柏| 精品人妻互换一区二区三区| 国产精品天美传媒沈樵| 欧美三根一起进三p| 黑人欧美xxxx| 国产女人高潮毛片| 精品视频偷偷看在线观看 | 久久久久久久久久久久av| 国产日韩电影| 亚洲wwwav| 欧美日韩国产一区二区三区不卡| 中文字幕欧美日韩一区二区三区| 亚洲国产二区| 热久久久久久久久| 99视频在线观看一区三区| 一本在线免费视频| 五月开心婷婷久久| 91久久久久国产一区二区| 亚洲第一网中文字幕| 欧美一区二区三区在线观看免费| 97国产一区二区精品久久呦 | 日韩综合小视频| youjizz.com日本| 国产精品久久久久三级| 日韩特黄一级片| 欧美一区永久视频免费观看| 欧美男男激情freegay| 欧美日韩国产二区| 男人亚洲天堂| 欧美一区国产一区| 一本色道久久综合亚洲精品不| 国产性生活一级片| 日本一区二区综合亚洲| 超碰超碰超碰超碰| 精品国产乱子伦一区| 久久精品视频观看| 国产精品成久久久久三级| 猫咪成人在线观看| 欧美少妇在线观看| 久久国产精品区| 亚洲а∨天堂久久精品2021| 欧美日韩国产丝袜美女| 男人天堂网在线视频| 欧美成人剧情片在线观看| 日韩电影免费观看高清完整版在线观看| 久中文字幕一区| 亚洲日本视频| 日本在线不卡一区二区| 亚洲精品成人a在线观看| 在线播放国产一区| 在线播放亚洲激情| 欧美xnxx| 色999日韩自偷自拍美女| 久久中文精品| 四虎永久免费影院| 精品久久久久久久久久 | 中文字幕精品一区二区精品| 伊人久久av| 欧美成ee人免费视频| 中文日韩欧美| 波多野结衣av在线免费观看| 欧美日韩激情视频| 蝌蚪视频在线播放| 日本国产欧美一区二区三区| 杨幂一区二区三区免费看视频| 国产男女无遮挡| 久久久久高清精品| 国产一级片一区二区| 中文字幕在线看视频国产欧美| 成人av集中营| 在线播放 亚洲| 国产精品一区在线| 国产在线观看99| 日韩av影片在线观看| 韩国美女久久| 亚洲欧洲久久| 国产成人免费在线观看| 久久久久成人片免费观看蜜芽| 精品对白一区国产伦| 麻豆视频在线看| 日本欧美精品久久久| 美女网站色91| 国产又黄又爽又无遮挡| 精品福利在线导航| 成人性生交大片免费观看网站| 茄子视频成人在线观看 | 美女网站在线免费欧美精品| 日本少妇aaa| 亚洲变态欧美另类捆绑| 午夜不卡影院| 在线免费一区| 丁香五精品蜜臀久久久久99网站| 日本一级淫片免费放| 亚洲人免费视频| 97精品资源在线观看| 久久精品视频16| 国产欧美精品区一区二区三区| 国产特级黄色片| 97在线视频免费观看| 精品一区电影| 麻豆短视频在线观看| 一本大道久久a久久精品综合 | 韩国精品久久久999| 国产伦精品一区二区三区视频| 日本精品一区在线| 午夜精品福利在线| 欧美三级黄网| 精品久久久久久一区| 美女视频黄 久久| 国产精品18p| 日韩视频免费在线| 农村少妇一区二区三区四区五区| 久久婷婷国产91天堂综合精品| 亚洲免费av高清| 美女做暖暖视频免费在线观看全部网址91| 国产精品三级在线| 伊人久久婷婷| 污污视频网站在线免费观看| 亚洲第一视频在线观看| 日本精品久久| 99热成人精品热久久66| 亚洲欧美经典视频|