Frontend Development 8 min read

JD's JD MCube and Aotu Taro Frameworks Adaptation to OpenHarmony: Technical Overview and Implementation Details

This article presents JD's comprehensive technical analysis and implementation experience of adapting its JD MCube native dynamic framework and the cross‑platform Aotu Taro solution to the OpenHarmony ecosystem, covering business complexity, technology stack diversity, UI paradigm comparisons, concrete integration steps, results, and future plans.

JD Retail Technology
JD Retail Technology
JD Retail Technology
JD's JD MCube and Aotu Taro Frameworks Adaptation to OpenHarmony: Technical Overview and Implementation Details

On July 27, 2022, JD shared its OpenHarmony adaptation experience at the Open Atom Global Open‑Source Summit, highlighting the cross‑platform Aotu Taro framework and the proprietary JD MCube dynamic framework.

Aotu Taro, an industry‑leading cross‑end solution, enables developers to efficiently build and debug OpenHarmony applications through the CrossPlatformUI‑SIG.

JD MCube, JD's self‑developed native dynamic framework, powers core JD App workflows and is currently being co‑built internally, though not yet open‑sourced.

The JD App serves over 580 million active users, with a highly diverse business landscape and a technology stack comprising native (55%), H5 & mini‑programs (40%), and cross‑platform components (5%). Re‑writing millions of lines of code for OpenHarmony is impractical, making framework reuse essential.

JD MCube employs a unified DSL to describe UI and events, which are parsed and rendered on each platform. The article references a prior JD MCube dynamic practice publication.

Three UI implementation options were evaluated for OpenHarmony: a Web‑like HML+JS+CSS approach, a declarative UI using ETS (similar to Flutter), and a low‑level C++ API. After comparing developer friendliness, component richness, UI update mechanisms, and expert advice, the declarative ETS approach was selected.

Implementation steps included creating an outer Column container, parsing template files into a ViewNode tree on a worker thread, recursively converting ViewNodes to platform Views, and handling view creation or property updates. Examples such as FlexboxLayout and TextView illustrate the process.

The resulting demo rendered a list item on an OpenHarmony development device, confirming the feasibility of JD MCube adaptation.

Future work involves aligning JD MCube features (expression engine, binary codec, event handling, template management, lifecycle listening) with Android/iOS, optimizing template parsing and view creation performance, and continuing to promote low‑cost OpenHarmony migration solutions for large‑scale apps.

mobile developmentcross‑platformui-frameworkAotu TaroJD MCubeOpenHarmony
JD Retail Technology
Written by

JD Retail Technology

Official platform of JD Retail Technology, delivering insightful R&D news and a deep look into the lives and work of technologists.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.