首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[开源]一套轻量级跨端小程序框架,一键打包生成独立原生 APP

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

作者头像
艺齐飞
发布2025-11-30 11:00:31
发布2025-11-30 11:00:31
3790
举报
文章被收录于专栏:一飞开源一飞开源

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

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

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

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

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

二、开源协议

使用Apache-2.0开源协议

三、界面展示

Android

iOS

Harmony

四、功能概述

技术特性

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

五、技术选型

跨平台支持

  • AndroidQuickJS + Android WebView
  • iOSJavaScriptCore + WKWebView
  • HarmonyQuickJS + Harmony WebView
  • WebWeb 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 文档

六、源码地址

访问一飞开源:https://code.exmay.com/

#一飞开源 #开源项目 #小程序框架

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一飞开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、开源项目简介
  • 星河小程序(Dimina)——滴滴开源跨端小程序
  • 二、开源协议
  • 三、界面展示
  • 四、功能概述
  • 技术特性
  • 五、技术选型
  • 跨平台支持
  • 上手使用
  • 详细步骤
  • 小程序是什么
  • 技术特性
  • 实现思路
  • 六、源码地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档