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

133 天前
 Archyomi

🚀 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 完全开源,欢迎各路英雄好汉来:


📜 开源协议

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

1540 次点击
所在节点    开源软件
15 条回复
itechify
133 天前
膜拜大佬,star 了
itechify
133 天前
原来是 didi 的开源,感谢推荐...
gechang
133 天前
相当于 uniapp 框架吗
zy0829
133 天前
66
putaozhenhaochi
133 天前
这是把小程序平台给开源了
ahu
132 天前
这个好!果断 star
ahu
132 天前
@Archyomi 抱歉由于是初次接触这一块,有些问题请教。

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

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

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

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

看起来只要是小程序需要请求接口的,都会走这个 proxy 处理一下。但是为什么没有处理成功呢?
Archyomi
129 天前
@gechang 更底层一些,可以理解成实现了一套微信小程序的东西。
Archyomi
129 天前
@ahu 已 fixed ~
gechang
129 天前
@Archyomi 比如在我的 app 项目中,集成小程序环境,相当于微信一样,在我的 app 中运行自有小程序,这个意思吗
Archyomi
129 天前
@gechang 对,可以让你的 app 集成小程序容器,复用之前的小程序代码。
gechang
129 天前
@Archyomi 那确实很厉害,之前接触过这个,不过都是收费的
Archyomi
129 天前
@gechang 哈哈,我们这个全栈开源,多谢支持
fairyme
83 天前
问一下可以复用非小程序代码吗,之前是 h5 代码,想把功能都移植到小程序中,不知道这套框架支持吗
Archyomi
79 天前
@fairyme 不可以的~语法还是需要微信小程序那套

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1133514

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX