[开源]一套轻量级跨端小程序框架,一键打包生成独立原生 APP

开源系统分类系统
2026-06-28 09:06 3 次浏览 • 0 次下载 0KB
[开源]一套轻量级跨端小程序框架,一键打包生成独立原生 APP

一、开源项目简介

图片

星河小程序(Dimina)——滴滴开源跨端小程序

Dimina 发音为 /diːminə/,是 didi miniprogram 的缩写,旨在打造灵活、轻量的小程序跨端开发框架。

星河小程序(以下简称 Dimina)是滴滴自研的一套轻量级跨端小程序框架,可以理解为开源版的小程序方案,致力于为开发者提供高性能、跨平台、低门槛的开发体验。

目前,Dimina 已支持 Android、iOS、Harmony 和 Web 四大平台。开发者可以将 Dimina 作为移动端跨平台开发框架,将已有小程序逻辑以独立模块方式集成到现有 App,或直接采用小程序语法进行开发,并一键打包生成独立原生 App。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

图片
Android
iOS
Harmony
图片
图片
图片

四、功能概述

 技术特性

  • 资源离线化
    资源本地存储减少网络请求
  • 逻辑视图分离
    独立 JS 引擎避免主线程阻塞
  • 原生能力封装
    统一 API 调用原生功能
  • 页面预加载
    WebView 预热提升性能

五、技术选型

跨平台支持

  • Android
    QuickJS + Android WebView
  • iOS
    JavaScriptCore + WKWebView
  • Harmony
    QuickJS + Harmony WebView
  • Web
    Web Worker + Browser

上手使用

图片

详细步骤

1、创建小程序项目

  • 使用小程序开发工具创建项目
  • 配置 app.json 和页面路由

2、开发小程序页面

  • 编写 WXML 模板
  • 添加 WXSS 样式
  • 使用 JavaScript 编写页面逻辑

3、编译打包

  • 使用 DMCC 编译器 将小程序代码编译为跨端代码
  • 打包星河小程序包
  • 将星河小程序包放置到各平台对应目录

4、平台接入

  • Android 接入说明
  • iOS 接入说明
  • Harmony 接入说明

5、调试与发布

  • 集成 App 进行真机调试
  • 打包发布到各应用商店
图片

小程序是什么

小程序本质上是 将网页技术迁移到手机上的一种 Hybrid App 方案。核心组成元素与网页类似:

  • JS
    描述逻辑
  • CSS
    描述样式
  • HTML
    描述用户界面

技术特性

为优化小程序性能和用户体验,客户端通常做以下处理:

  1. 资源离线化
    将 JS/CSS/HTML 存储在本地,减少网络请求耗时。
  2. 复杂任务异步化
    将耗时逻辑放入独立的 JS 引擎执行,避免主线程阻塞。
  3. 原生能力封装
    通过客户端容器桥接,提供如相机、蓝牙等能力。
  4. 页面跳转原生化
    实现类似原生应用的页面跳转和过渡动画。

总结来说,小程序是一种标准化的跨端框架,结合了 Web 开发中的高效免安装优点以及原生开发的能力,代表了 Hybrid 开发的高效模式。

实现思路

为实现星河小程序框架,我们需解决四个关键问题:

  • 资源离线包加载
    如何解决跨域问题,快速加载本地资源?
  • 逻辑与视图分离
    如何将 JS 逻辑从页面中拆分到独立引擎?
  • 原生能力调用
    如何设计高效的通信协议?
  • 页面跳转优化
    如何实现 Webview 的预加载与快速切换?

详细内容请查看 README.md 文档