
Dimina is pronounced /diːminə/, short for didi miniprogram. It aims to build a flexible and lightweight cross-platform mini program development framework.
Introduction • Showcase • Getting Started • Contributing • Star Trend • License
Dimina is a lightweight cross-platform mini program framework independently developed by Didi. It can be understood as an open-source version of mini program solutions, committed to providing developers with a high-performance, cross-platform, and low-barrier development experience.
Currently, Dimina supports four major platforms: Android, iOS, Harmony, and Web. Developers can use Dimina as a mobile cross-platform development framework to integrate existing mini program logic into current apps, or develop directly with mini program syntax and compile it into resource bundles that Dimina containers can load on each platform.
Live Demo: https://didi.github.io/dimina/
| Android | iOS | Harmony |
|---|---|---|
![]() |
![]() |
![]() |
graph TD
A[Create Mini Program Project] --> B[Develop Mini Program Pages]
B --> C[Write Logic Using Mini Program Syntax]
C --> D[Compile with DMCC]
D --> E[Generate Dimina Package]
E --> F{Target Platform}
F -->|Android| G[Integrate Android SDK]
F -->|iOS| H[Integrate iOS SDK]
F -->|Harmony| I[Integrate Harmony SDK]
F -->|Web| M[Preview in Web Container]
G --> J[Run on Android Device]
H --> K[Run on iOS Device]
I --> L[Run on Harmony Device]
Configure app.json and page routing
Develop Mini Program Pages
Use JavaScript to write page logic
Compile and Package
pnpm generate:app to generate mini program bundles into shared/jsappRun pnpm generate:sdk to generate the JSSDK bundle into shared/jssdk
Platform Integration
For Web, run pnpm dev in fe/ for local preview
Debugging and Publishing
shared/ into platform resource directoriesDimina is designed in accordance with the Mini App Standard White Paper and has currently aligned with the main functionalities of WeChat Mini Program.
For currently supported capabilities, see the Dimina Capability Reference Guide.
Thanks to the high similarity between Vue3 and mini program syntax, Dimina's underlying view rendering framework is built on Vue. Dimina uses DMCC to transpile mini program syntax into Vue syntax, and builds a mini program standard component system on top of it. Client-side mini program containers then provide native capabilities while flexibly loading and displaying view pages.
For more information about the underlying implementation principles of the framework, please refer to the detailed documentation.
Since various mini program solutions in the industry have been iterating for many years, Dimina has not yet fully covered all mini program APIs/components/features. We welcome everyone to actively contribute code and suggestions to improve Dimina together.

If you find Dimina helpful, please click the ⭐Star button in the upper right to support us and help more people discover this project.
Dimina is distributed and used under the Apache-2.0 license. For more details, please see the LICENSE file.
$ claude mcp add dimina \
-- python -m otcore.mcp_server <graph>