将大型Flutter单体应用拆分为独立包的实践难题与最佳实践咨询
将大型Flutter单体应用拆分为独立包的实践难题与最佳实践咨询
最近我在把一个大型Flutter单体应用拆分成更小的独立包,目的是提升整体的模块化程度,但过程中遇到了几个卡壳的问题,想请教下各位大佬的最佳实践或者实际可行的解决方案:
- 数据库共享:怎么在多个独立包之间共享SQLite、Hive这类数据库实例,同时又不会让包之间产生强耦合?
- 跨包推送通知处理:面对多个独立包,处理推送通知的最优思路是什么?
- 解耦后的导航管理:如何高效管理不同独立包之间的导航跳转,同时不破坏模块化特性?我自己尝试给每个包单独实现了专属路由,负责包内的导航逻辑,但总觉得还有优化空间,想听听大家的经验。
- 全局状态(BLoC)管理:用BLoC框架的话,该怎么处理跨包的共享状态?还是说每个包应该完全自主管理自己的状态?我之前试过把每个包的BLoC都导出,然后在主应用里聚合这些实例,再按需获取使用,但总感觉这个方案不够优雅……
希望有过类似拆包经验的朋友能分享下你们踩坑后总结出的有效模式或者最佳实践,万分感谢!
备注:内容来源于stack exchange,提问作者Nicolae Nițu
相关产品推荐
相关产品推荐

