V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Archyomi
V2EX  ›  开源软件

[开源自荐] 滴滴星河小程序 - 让小程序成为跨平台 App

  •  
  •   Archyomi · 71 天前 · 1343 次点击
    这是一个创建于 71 天前的主题,其中的信息可能已经有所发展或是发生改变。

    🚀 Dimina:让小程序飞向全平台! 🌌

    还在为多端适配掉头发吗? RN 和 Flutter 太重?试试 Dimina 吧!滴滴星河小程序框架开源啦!这是一个让小程序代码"一次编写,到处运行"的跨端解决方案。

    🌟 跨端新选择

    Dimina 不是另一个轮子,而是给轮子装上了火箭推进器!🚀 让小程序再次伟大!我们让小程序技术突破平台限制,实现真正的"写一次,跑所有":

    目前已经支持 Android ,iOS 以及鸿蒙 OS 上运行。

    🎯 为什么选择 Dimina ?

    1. 跨端开发,真香!

      一套代码,多端运行,再也不用写三遍业务逻辑了,历史的小程序代码直接拿来主义。

      现有小程序生态无缝迁移,学习成本低于你的早餐预算。

    2. 轻量高效

      核心包比 RN/Flutter 小一个数量级,启动速度比闪电还快 ⚡

      资源占用低,让低端机也能流畅运行。

    3. 开发体验爽到飞起

      网页预览所见即所得,前端同学舒适圈。

    🛠️ 技术架构

    ┌───────────────────────────────┐
    │         你的小程序代码          │
    └───────────────┬───────────────┘
                    │
    ┌───────────────▼───────────────┐
    │         Dimina 运行时          │
    │  ┌─────────┐   ┌──────────┐   │
    │  │  JS 引擎  │   │ Webview  │   │
    │  └─────────┘   └──────────┘   │
    └───────────────┬───────────────┘
            ┌───────┴───────┬─────────────┐
            ▼               ▼             ▼
    ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
    │   Android   │ │     iOS     │ │   Harmony   │
    └─────────────┘ └─────────────┘ └─────────────┘
    

    技术实现细节,你想知道的关于小程序的一切: https://github.com/didi/dimina/blob/main/docs/Architecture-Details.md

    🤝 开源共建

    是的,你没有看错!我们决定把这个“秘密武器”贡献出来,与各位开发者共享。为什么?因为我们相信,开源的力量能让 Dimina 飞得更高、走得更远。 当然,也悄悄希望能有大神帮我们瞅瞅,万一哪个角落还藏着可以优化的“亿点点”细节呢?(或者帮我们找到那个传说中失踪已久的分号)。 加入我们的开发者社区,一起把 Dimina 打造成最棒的小程序跨端解决方案! 我们相信代码应该像表情包一样自由传播!所以 Dimina 完全开源,欢迎各路英雄好汉来:

    • 👉 提 Issue:发现 Bug 了?别客气,来喷!
    • 👨‍💻 提交 PR:有好点子?秀出来让大家开开眼!
    • 🌟 Star 一下:如果觉得不错,点个赞再走呗~

    📜 开源协议

    Apache 2.0 License - 比隔壁老王家的 WiFi 还开放!你可以自由使用、修改、分发 (当然,赚到钱请我们喝奶茶也不是不行 😉)。

    15 条回复    2025-07-15 10:25:34 +08:00
    oneisall8955
        1
    oneisall8955  
       71 天前
    膜拜大佬,star 了
    oneisall8955
        2
    oneisall8955  
       71 天前
    原来是 didi 的开源,感谢推荐...
    gechang
        3
    gechang  
       71 天前
    相当于 uniapp 框架吗
    zy0829
        4
    zy0829  
       71 天前
    66
    putaozhenhaochi
        5
    putaozhenhaochi  
       71 天前 via Android
    这是把小程序平台给开源了
    ahu
        6
    ahu  
       70 天前
    这个好!果断 star
    ahu
        7
    ahu  
       70 天前
    @Archyomi 抱歉由于是初次接触这一块,有些问题请教。

    我放了一个简单的单页微信小程序在 fe/example 下后,这个小程序在打开时会请求远程接口加载数据并显示内容,就是这么简单。

    现在的问题是:预览时小程序没加载出来,不知道需要如何解决?

    看控制台提示有个本地 url 请求失败: http://localhost:7788/proxy ,然后我切到开发模式,这个地址倒是不报错了(请求负荷如下),但是小程序所请求的远程信息并没有加载。

    {"url":"小程序接口","data":{接口参数},"header":{},"timeout":0,"method":"GET","dataType":"json","responseType":"text"}

    看起来只要是小程序需要请求接口的,都会走这个 proxy 处理一下。但是为什么没有处理成功呢?
    Archyomi
        8
    Archyomi  
    OP
       67 天前
    @gechang 更底层一些,可以理解成实现了一套微信小程序的东西。
    Archyomi
        9
    Archyomi  
    OP
       67 天前
    @ahu 已 fixed ~
    gechang
        10
    gechang  
       67 天前
    @Archyomi 比如在我的 app 项目中,集成小程序环境,相当于微信一样,在我的 app 中运行自有小程序,这个意思吗
    Archyomi
        11
    Archyomi  
    OP
       67 天前
    @gechang 对,可以让你的 app 集成小程序容器,复用之前的小程序代码。
    gechang
        12
    gechang  
       67 天前
    @Archyomi 那确实很厉害,之前接触过这个,不过都是收费的
    Archyomi
        13
    Archyomi  
    OP
       67 天前
    @gechang 哈哈,我们这个全栈开源,多谢支持
    fairyme
        14
    fairyme  
       21 天前
    问一下可以复用非小程序代码吗,之前是 h5 代码,想把功能都移植到小程序中,不知道这套框架支持吗
    Archyomi
        15
    Archyomi  
    OP
       17 天前
    @fairyme 不可以的~语法还是需要微信小程序那套
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1118 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:59 · PVG 01:59 · LAX 10:59 · JFK 13:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.