目录

  • 什么是fluttermodule?
  • fluttermodule的使用场景及作用?
  • fluttermodule的实现及开发流程

前言:

当你们公司在开发购物类App时,如果技术栈原本选用了RN、WebView和原生混合模式,开发进行到一半,老板出于性能考虑,希望将订单列表页改用Flutter来实现——这时该怎么办?

团队中的小流提出了两种思路:

方案一:全面转向Flutter,废弃已有的RN和原生代码,从头重写。

方案二:保留现有代码,仅将Flutter以模块形式集成到原有项目中。

显然,方案一成本高、周期长、风险大;而方案二采用多框架混合开发模式,能在较短时间内以较低风险实现目标。因此,我们今天就来重点讲解如何在现有项目中集成Flutter Module,实现平滑的技术融合。

接下来,我们就进入具体实践环节。

一:什么是fluttermodule?

       Flutter Module(Flutter模块) 不是一个完整的、可以独立安装运行的Flutter App。相反,它是一个专门被设计用来集成到现有原生(iOS/Android)应用程序中的Flutter代码包。

你可以把它想象成一个功能强大、高性能的“乐高积木”或“插件包”。你的主工程(用Java/Kotlin或Objective-C/Swift编写)是底座,而Flutter Module就是那块可以完美嵌入底座、实现特定功能的特殊积木。

二:fluttermodule的使用场景及作用?

      Flutter Module 的核心价值在于为已有成熟应用提供了一条渐进式、低风险的架构演进路径。它并非要求“All in Flutter”的推倒重来,而是允许我们将 Flutter 作为一款高性能的“增强插件”,精准地用于改造应用中的关键模块(如订单列表、商品详情等复杂交互页面)。其核心作用是:在最大程度保护既有技术投资(原生/Rn代码)的前提下,以模块化方式引入 Flutter 的热重载、跨平台UI一致性以及优异的渲染性能,从而快速解决特定场景的性能瓶颈和体验问题。本质上,它是一种平衡“历史包袱”与“技术革新”的务实策略,让团队能以最小的成本和风险,实现对应用的持续优化与现代化升级。

三:fluttermodule的实现及开发流程(重要‼️)

1.创建一个fluttermodule

终端输入命令:flutter create -t module  xxx

           xxx为module名称

   fluttermodule模块并不存在实际的安卓、IOS、鸿蒙的平台文件,只有临时的平台文件.ohos\.android\.ios

fluttermodule一遍用于实现flutter页面及flutter的插件实现、所以运行不起来,一遍需要自己本地mok数据,展示UI及功能实现。

2.查看mok数据样例:

只能将临时文件拖拽到DevEcoStudio打开,并签名,然后fluttermodule中执行flutter run 命令,可以直接查看到.ohos文件中的mok数据页面

如果需要应用到鸿蒙原生项目中,签名成功后,终端执行flutter build har

3.在鸿蒙原生项目中引入fluttersdk

4.oh-package.json中导入

如果是相对路径则不能把fluttermodule中.ohos文件中的har包删除

如果是绝对路径任意

最后:fluttermodule一般作为私仓/二方仓,及一些原生插件的实现用于存方在flutter module用于原生项目中使用。

有什么问题尽情留言,我一定会给你答复!❤️❤️

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐