在线体验 · 最快上手 · 能力参考 · 更新日志 · 架构文档 · 参与共建
Dimina(星河小程序)是滴滴开源的跨端小程序框架:把 WXML、WXSS、JavaScript / TypeScript 小程序源码编译成统一运行时资源包,再由 Android、iOS、Harmony 和 Web 容器加载。既可以把现有小程序作为独立模块嵌入 App,也可以直接使用小程序语法开发跨端页面。
下面是仓库内同一套“官方组件展示”示例在三个原生平台上的实际效果。Web 端可以直接打开在线演示体验。
| Android | iOS | Harmony |
|---|---|---|
![]() |
![]() |
![]() |
Dimina 不只是一个 Web 预览器。它包含小程序编译器、逻辑层与视图层运行时、标准组件、原生能力桥接,以及 Android、iOS、Harmony 和 Web 容器。
- 资源离线化:小程序包由宿主提供并落到本地,减少运行时网络依赖。
- 逻辑与视图分离:业务逻辑运行在独立 JS 引擎或 Worker 中,视图由 WebView / Browser 渲染。
- 统一原生能力:通过标准 API 与扩展 Bridge 调用宿主能力,无需把平台逻辑散落到业务页面。
- 面向真实容器:支持页面预热、路由、生命周期、组件与跨线程消息链路。
DMCC 负责把小程序源码转换为 Dimina 运行时可以加载的逻辑、视图、样式与配置资源。容器内部通过消息通道连接逻辑层、视图层和原生能力,让同一份小程序语义落到不同平台。
| 平台 | 逻辑引擎 | 视图容器 | 接入入口 |
|---|---|---|---|
| Android | QuickJS | Android WebView | Android SDK |
| iOS | JavaScriptCore | WKWebView | iOS SDK |
| Harmony | QuickJS | Harmony WebView | Harmony SDK |
| Web | Web Worker | Browser | 在线演示 |
如果只想先看效果,直接打开在线演示。要在本地跑起仓库自带的 Web 示例,需要 Node.js 22+ 与 pnpm 7+:
git clone https://github.com/didi/dimina.git
cd dimina/fe
pnpm install
pnpm compile
pnpm devpnpm compile 会编译 fe/example/ 下的小程序,pnpm dev 会启动 Web 容器与代理服务。更多构建、打包和调试命令见前端工作区说明。
要把编译后的资源包接入原生应用,请选择对应平台:
Dimina 正在持续对齐小程序标准与微信小程序主要能力,但尚未覆盖全部 API、组件和特性。评估接入前,请先查看当前能力范围与平台差异。
| 想了解什么 | 文档入口 |
|---|---|
| 已支持的组件、API 与平台差异 | 能力参考指南 |
| 编译流程、双线程模型与整体架构 | 技术文档 |
| DMCC 安装、命令与编译产物 | 编译器使用说明 |
| 小程序包更新与动态下发职责 | 更新机制说明 |
| 共享资源如何流向各端示例工程 | 共享资源说明 |
Dimina 遵循小程序标准化白皮书进行设计,欢迎围绕兼容语义、跨端运行时、组件和原生能力一起完善项目。
- Bug 与功能建议: Issues
- 方案讨论与提案: Discussions
- 提交代码前: 贡献指南
Dimina 基于 Apache License 2.0 分发和使用。



