当前位置:首页 > 技术文章 > 正文内容

重磅!滴滴开源全新跨端小程序框架,基于 Vue 3!

最近,滴滴出行开源了自主研发的全新轻量级跨端小程序框架——星河 (Dimina),为开发者提供了“一次开发,多端运行”的高性能、低门槛解决方案。下面就来一览 Dimina 的魅力!

什么是星河 (Dimina)?

星河 (Dimina) 是一个支持使用微信小程序语法 (WXML/WXSS/JS) 进行开发的小程序框架。它通过内置的 DMCC 编译器,将小程序代码转译,使其能够在 Android、iOS、HarmonyOS 和 Web 平台上运行。使用 Dimina,开发者可以将小程序功能以模块化方式集成到现有 App 中,或将其打包为独立的 App。

主要特性

一套代码,多端运行

Dimina 的核心是其跨端能力。开发者只需维护一套遵循微信小程序规范的代码,即可通过框架编译、适配,部署到不同平台,从而降低多平台开发的成本与维护复杂度。

完善的开发生态

为了确保流畅的开发体验,Dimina 提供了一套基础开发生态:

  • 全面的 API 能力:内置超过 60个 API,覆盖网络、文件、设备、媒体、位置等 8 大类核心功能,以满足不同业务场景的需求。
  • 丰富的原生组件:已支持 25+ 个常用组件,包括基础视图、表单、导航、媒体等,用于构建一致的用户界面。

卓越的性能表现

Dimina 在设计中采用了多项性能优化策略:

  • 资源本地化与离线缓存:将应用资源存储在本地,大幅减少网络请求,提升加载速度。
  • 逻辑与视图分离架构:业务逻辑在独立的 JS 引擎中运行,以避免复杂计算影响 UI 线程,从而提升页面交互响应。
  • 预加载机制:通过预热 WebView 和提前加载页面资源,缩短白屏时间,优化用户启动体验。

技术架构:Vue3驱动,DMCC编译

DDimina 遵循小程序标准化白皮书设计,它的技术架构巧妙地将 Vue 3 引擎与小程序语法相结合。

  • 核心引擎:底层渲染框架采用 Vue 3。Vue 3 的组合式 API 和响应式系统在设计思想上与小程序的数据驱动模式较为契合,为框架的渲染性能提供了基础。
  • DMCC 编译器:这是实现语法转换的“翻译官”。它能将小程序的 WXML 和 WXSS 文件精准地转译为 Vue 3 能够理解的 JavaScript 和 CSS,从而打通语法壁垒。
  • 分层隔离设计:框架将业务逻辑与视图渲染分离,配合资源预加载和本地缓存策略,旨在从架构层面提升应用的启动速度和运行性能。
  • 多端运行时容器:Dimina 为不同平台提供了相应的运行时环境,以承载和执行代码。

开发流程

使用 Dimina 进行开发,仅需五步:

  1. 1创建项目:初始化一个 Dimina 小程序项目。
  2. 2页面开发:使用你熟悉的 WXML/WXSS/JS 进行业务编码。
  3. 3编译打包:通过调用 DMCC 编译器生成 Dimina 小程序包。
  4. 4平台集成:将对应平台的 SDK 集成到你的原生工程中。
  5. 5运行测试:在设备或模拟器上运行并验证。

相关文章

崩溃!3 道 React 面试必卡题,吃透稳过金九银十

凌晨三点还在对着 “React 组件为什么重复渲染” 抓耳挠腮?别慌!今天挑出 3 道让 90% 候选人卡壳的高频题,全是大厂面试官挖的 “坑”,手把手教你见招拆招,看完直接装进面试 “弹药库”!先问...

vue3源码分析——实现组件通信provide,inject

引言<<往期回顾>>vue3源码分析——rollup打包monorepovue3源码分析——实现组件的挂载流程vue3源码分析——实现props,emit,事件处理等vue3源...

10分钟搞定gitlab-ci自动化部署(gitlab ci 配置)

gitlab-ci 是持续集成工具/自动化部署工具,类似 jenkins。持续集成 是将代码集成到共享存储库并尽可能早地自动构建/测试每个更改的实践 - 通常一天几次。概述在编码完成时都会进行打包发布...

GitLab-合并请求(gitlab合并请求合并者还原图解)

描述合并请求可用于在您对项目进行的其他人员之间交换代码,并轻松与他们讨论更改。合并请求的步骤步骤1-在创建新的合并请求之前,GitLab中应该有一个创建的分支。您可以参考本章来创建分支-步骤2-登录到...

用IDEA开发如何用Git快速拉取指定分支代码?

1,准备空的文件夹,git init2,关联远程仓库,git remote add origin gitlab地址3,拉取远程分支代码,git pull origin 远程分支名再用IDEA打开项目即...

程序员开发必会之git常用命令,git配置、拉取、提交、分支管理

整理日常开发过程中经常使用的git命令!git配置SSH刚进入项目开发中,我们首先需要配置git的config、配置SSH方式拉取代码,以后就免输入账号密码了!# 按顺序执行 git config -...