滴滴开源Flutter混合开发框架Unify

Connor 火币交易所 2024-08-26 4199 0

滴滴开源了自研 Unify 框架,旨在解决大规模跨端落地场景下,Flutter 与原生模块之间的通信问题。

Unify 通过平台无关的模块抽象、灵活的实现注入、自动代码生成等特性,为开发者提供高效、灵活、易用的 Flutter 混合通信能力。

开源地址:

滴滴开源Flutter混合开发框架Unify

Unify 是一个 Flutter 混合开发框架,由滴滴出行国际化外卖团队自研。

下图是滴滴国际化外卖 Flutter 部分业务落地场景展示:

滴滴开源Flutter混合开发框架Unify

Unify亮点特性包括:

平台无关的模块抽象: 允许开发者使用 Dart 语言声明与平台无关的模块接口与实体。

灵活的实现注入: 开发者可以灵活地选择注入原生实现(Android/iOS)或 Flutter 实现。

自动代码生成: 借助强大的代码生成引擎,Unify 可以自动生成 Flutter、Android、iOS 多平台下统一调用的 SDK。

下面是一个使用 Unify 声明原生模块的示例:

@UniNativeModule

abstractclassDeviceInfoService{

展开全文

Future<DeviceInfoModel> getDeviceInfo;

通过 Unify,上面的 Dart 接口可以自动映射到 Android 和 iOS 平台,开发者只需专注于各平台下的具体实现即可。

在 Flutter 中使用时,调用方式就像普通的 Flutter 模块一样简单、直观:

DeviceInfoService.getDeviceInfo.then((deviceInfoModel) {

print("${deviceInfoModel.encode}");

Unify 的整体原理如下:

滴滴开源Flutter混合开发框架Unify

Unify 能够很好地解决 Flutter 混合开发下的一些常见问题,例如:

大量原生模块高效导入 Flutter

大量 Flutter 模块高效导入原生

解决大量 Channel 难以维护的问题

原生与 Flutter 并存下的混合架构分层

大量原生模块高效导入 Flutter

大量 Flutter 模块高效导入原生

解决大量 Channel 难以维护的问题

原生与 Flutter 并存下的混合架构分层

据介绍,Unify 实现了一套多语言代码生成器,通过该生成器,能够自动解析开发者声明的 Dart 抽象接口,并自动生成三端注入、调用代码,将开发者从繁重的胶水代码中解脱出来,从而提升跨端通信的开发效率。

滴滴开源Flutter混合开发框架Unify

详情查看

Reference

🎁 转发、评论本文有福利

揾食艰难,跪求观众老爷们积极三连!

如果本文阅读量破 1万(发布后 7 天内),留言区点赞数最多的水友将获赠一份 OSC 定制的周边礼物(T 恤、魔方或笔记本)。

分享、在看与点赞

至少我要拥有一个吧

小编顿首 Orz

END

热门文章

-看不惯收费应用坑小白,程序员“冲冠一怒”写了开源免费软件“踢馆”

-美国国防部建议将C代码转换为Rust——而且是用AI

-这款开源PHP应用服务器看着有点新潮了

-瑞士进入next level,要求所有政府软件开源

-我用十条优化措施,将Redis费用降本46万/月

评论