Flutter 组件化

本文探讨了Flutter的组件化实现,通过创建Module模块实现业务隔离,模块间资源依赖和共享,以及如何处理不同运行环境的资源配置。使用Flutter的插件系统与原生交互,并介绍了解耦组件间的通信方式,如路由机制。此外,提到了Flutter组件化的灵活性,相较于原生开发具有明显优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近搞flutter组件化感觉比原生香多了,记录一下。

1、flutter组件化通过创建module模块来形成业务模块,module模块天生可以直接孤立运行,并且可以被主工程依赖;

2、flutter的插件也可以形成插件功能和独立运行和module功能类似(方便和原生交流);

3、模块间的资源可以被依赖共享,但是访问方式需要注意(其他json等文件类似)

用login_module登录模块举例:

login_module模块图片资源: images/test.png

当模块独立运行时候是:

Image.asset('images/test.png'fit: BoxFit.fitWidth)

当集成到主工程运行时候需要改变路径:

Image.asset('packages/login_module/images/test.png',fit: BoxFit.fitWidth,)

注意packages:是固定打头

为了切换方便,可以在studio增加运行变量控制:

运行添加参数软件上直接:--dart-define=IS_RUN_ALONE=true

模块代码中接收变量:

static const isRunAlone = bool.fromEnvironment('IS_RUN_ALONE', defaultValue: false);

于是模块中资源访问代码变成:
Image.asset(isRunAlone
      ? 'images/test.png'
      : 'packages/login_module/images/test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值