首页 > 其他分享 >滴滴开源 Flutter 混合开发框架 Unify

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

时间:2024-08-27 11:38:54浏览次数:8  
标签:原生 Unify 滴滴 开源 模块 Flutter

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

来源: OSCHINA 编辑:  2024-08-16 12:24:00  1

滴滴近日开源了自研 Unify 框架,旨在解决大规模跨端落地场景下,Flutter 与原生模块之间的通信问题。Unify 通过平台无关的模块抽象、灵活的实现注入、自动代码生成等特性,为开发者提供高效、灵活、易用的 Flutter 混合通信能力。

开源地址:https://github.com/didi/Unify

Unify 是一个 Flutter 混合开发框架,由滴滴出行国际化外卖团队自研,目前已经广泛应用于滴滴国际化外卖及国际化出行业务。

Unify 的亮点特性包括:

  • 平台无关的模块抽象: 允许开发者使用 Dart 语言声明与平台无关的模块接口与实体。
  • 灵活的实现注入: 开发者可以灵活地选择注入原生实现(Android/iOS)或 Flutter 实现。
  • 自动代码生成: 借助强大的代码生成引擎,Unify 可以自动生成 Flutter、Android、iOS 多平台下统一调用的 SDK。

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

@UniNativeModule()
abstract class DeviceInfoService {
  Future<DeviceInfoModel> getDeviceInfo();
}

通过 Unify,上面的 Dart 接口可以自动映射到 Android 和 iOS 平台,开发者只需专注于各平台下的具体实现即可。在 Flutter 中使用时,调用方式就像普通的 Flutter 模块一样简单、直观:

DeviceInfoService.getDeviceInfo().then((deviceInfoModel) {
  print("${deviceInfoModel.encode()}");
});

Unify 的整体原理如下:

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

  • 大量原生模块高效导入 Flutter
  • 大量 Flutter 模块高效导入原生
  • 解决大量 Channel 难以维护的问题
  • 原生与 Flutter 并存下的混合架构分层

详情查看 https://github.com/didi/Unify/blob/master/README.zh-CN.md

标签:原生,Unify,滴滴,开源,模块,Flutter
From: https://www.cnblogs.com/sexintercourse/p/18382368

相关文章

  • .NET 开源实时监控系统 - WatchDog
    前言在平时的开发中随着我们系统应用不断地迭代变的复杂,对应用的实时监控变得越来越重要。实时监控不仅可以帮助我们快速定位问题,还能在出现问题时及时采取措施,减少业务中断的时间。本文将介绍一个名为WatchDog的.NET开源实时应用监控系统,它可以帮助我们轻松实现对.NET应用的实......
  • 有限单元法与渗流问题:从理论到开源程序的桥梁
    有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法。尽管各类商业软件使用方便,但其使用对用户来说往往是一个“黑箱子”。相比而言,开源的有限元程序计算方法透明、计算过程可控,用户可根据自己的需求进行必要的修改,这一点对于......
  • auto_size_text 自动调整文本大小以适应其容器的 Flutter 插件
    依赖auto_size_text:^3.0.0//自动调整文本大小例子classAutoSizeRichTextExampleextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnCenter(child:Container(width:double.infinity,child:AutoSi......
  • 基于Material Design风格开源的Avalonia UI控件库
    前言今天大姚给大家分享一款基于MaterialDesign风格开源、免费(MITLicense)的AvaloniaUI控件库:Material.Avalonia。当前项目还处于alpha阶段。Avalonia介绍Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Win......
  • 【文档智能 & RAG】浅看开源的同质化的文档解析框架-Docling
    前言RAG的兴起,越来越多的人开始关注文档结构化解析的效果,这个赛道变得非常的同质化。关于文档智能解析过程中的每个技术环节的技术点,前期文章详细介绍了很多内容:下面我们简单的看看Docling这个PDF文档解析框架里面都有什么技术。方法布局分析模型首先,Docling使用一......
  • 在NextChat中接入SiliconCloud API 体验不同的开源先进大语言模型
    NextChat介绍One-Clicktogetawell-designedcross-platformChatGPTwebUI,withGPT3,GPT4&GeminiProsupport.一键免费部署你的跨平台私人ChatGPT应用,支持GPT3,GPT4&GeminiPro模型。主要功能在1分钟内使用Vercel免费一键部署提供体积极小(~5MB)的跨......
  • uniapp源码 进销存 小程序 可生成H5页面和APP,前后端全开源小程序 进销存管理系统多用
    现在市面上这个前后端进销存大都存在BUG,不知道大家有没有发现,1.采购管理不能退货和跳转页面缺失BUG,需要刷新一下就是在退货审核管理那里去确认成功退货,商品库存还是显示采购入库时的数量。2.销售管理库存为0还能进行出库,(最后显示没有库存)(前提是修复了采购那里的BUG)3.销售......
  • Flutter调试debug或者打包release帧率只有60的原因
    问题描述最近发现Flutter中引入像素较大的静态图片或者字体导致调试或者打包之后在高刷手机上帧率只有60的问题。测试设备为小米13,可在开发者选项中直接打开帧率显示,也可使用statsfl插件显示帧率StatsFl(maxFps:120,//SupportcustomFPStarget(defaultis60)......
  • 从多维度视角探讨“开源AI智能名片O2O商城小程序”的设计与管理
    摘要:在数字化转型的浪潮中,产品设计与管理已成为企业竞争力的核心要素。本文旨在从产品设计、产品管理及产品文化三个维度,深入探讨“开源AI智能名片O2O商城小程序”的设计理念与实践策略。通过强调设计即沟通的原则,本文分析了直接控制产品细节的人员如何与用户建立有效沟通渠道,......
  • 私域流量的落脚点与开源 AI 智能名片 2+1 链动商城小程序
    摘要:本文探讨了私域流量的重要性及其落脚点,分析了快钱收割思维在私域流量运作中的弊端。同时,引入开源AI智能名片2+1链动商城小程序,阐述其在成就人格化IP和打造品牌域、通过直播电商规模化变现方面的作用,为企业私域流量的有效运营提供参考。一、引言在当今数字化时代,私......