阿里宣布开源Flutter应用框架Fish Redux
极客时间编辑部
讲述:丁婵大小:2.65M时长:02:54
近日,阿里闲鱼团队宣布在 GitHub 上开源 Fish Redux,Fish Redux 是一个基于 Redux 数据管理的组装式 Flutter 应用框架,特别适用于构建中大型的复杂应用,它最显著的特征是函数式的编程模型、可预测的状态管理、可插拔的组件体系、最佳的性能表现。
在闲鱼接入 Flutter 之初,由于落地的方案希望是从最复杂的几个主链路进行尝试来验证 Flutter 完备性的,而闲鱼的详情整体来讲业务比较复杂,主要体现在两个方面:
页面需要集中状态管理,也就是说页面的不同组件共享一个数据来源,数据来源变化需要通知页面所有组件。
页面的 UI 展现形式比较多(如普通详情、闲鱼币详情、社区详情、拍卖详情等),工作量大,所以 UI 组件需要尽可能复用,也就是说需要比较好的进行组件化切分。
在开发团队尝试使用市面上已有的框架(谷歌提供的 redux 以及 bloc)的时候发现,没有任何一个框架可以既解决集中状态管理,又能解决 UI 的组件化的,因为本身这两个问题有一定的矛盾性(集中 vs 分治)。因此闲鱼希望有一套框架能解决我们的问题,Fish Redux 应运而生。
Fish Redux 本身是经过比较多次的迭代的,现在的版本经过了 3 次比较大的迭代,实际上也是经过了团队比较多的讨论和思考。目前,Fish Redux 已经在线上稳定运行超过 3 个月以上。
据介绍,Fish Redux 的优点包括以下内容:
数据的集中管理。通过 Redux 做集中化的可观察的数据管理,保留 Redux 所有的优势,同时在 Reducer 的合并上,变成由框架代理自动完成,大大简化了使用 Redux 的繁琐度。
组件的分治管理。组件既是对视图的分治,也是对数据的分治。通过逐层分治,将复杂的页面和数据切分为相互独立的小模块。
View、Reducer、Effect 隔离。将组件拆分成三个无状态的互不依赖的函数。因为是无状态的函数,它更易于编写、调试、测试、维护。
声明式配置组装。组件、适配器通过自由的声明式配置组装来完成。
良好的扩展性。核心框架保持自己的核心的三层关注点,不做核心关注点以外的事情,同时对上层保持了灵活的扩展性。
精小、简单、完备。它仅仅包含 1000 多行代码,并且使用简单。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 吴开杰Sirnice
收起评论