Flutter 状态管理哪家强 Flutter 状态管有哪些
声明式 UI 最重要的状态管理方面
Flutter 状态管理哪家强 Flutter 状态管有哪些?
形如 React-Redux Vue-Vuex Compose-JetpackMVVM
Flutter 现在发展出统治级的框架了吗?
BLoC ?
get 我只当简易 DI 用的
最近 Getx 在 reddit 上被猛批
我一直在用 mobx ,在 flutter 上算小众,但毕竟 web 也在用,上手快。
bloc 用的人也很多 > redux
riverpod
用过 Get ,能解决问题,但感觉比较奇葩
#3 为啥被批,有啥坑吗?
自己写一个
provider 怎么样
大概看了下, 基本上都是在说作者人品不好.
https://www.reddit.com/r/FlutterDev/comments/q95l2x/why_is_getx_hated/
#10 公司目前也在用 Getx, 说实话新手上手的确是快, 也能很快产出东西. 但是建议在上手后还是多了解一下其他的状态管理框架以及基础的 InheritedWidget 原理.
如果只是说那个 package 的话,这个可能是更好的信息源: https://www.reddit.com/r/FlutterDev/comments/po1bei/why_is_getx_such_a_bad_state_management/
Riverpod
用过 Google 自家的 Provider 和 GetX 。
Provider 的问题是无论你要实现粗略还是精细的状态管理,你都需要写一大堆繁杂嵌套的代码,好处就是这个是官方维护的,执行效率不是问题,并且当你熟练掌握 Provider 的使用后,意味着你基本理解了 Flutter 状态刷新的背后机制。
GetX 相比起来代码直观简单很多(更傻瓜),并且非常容易解耦,自带了类似 get_it 的注入功能,并且集成了许多好用的模板( get_cli ,get_snippets )。但是作者的维护积极性以及最终 app 的运行效率都会更糟一些,许多建设性的 issue open 了两年多都没下文,且初学者直接用的话容易对各类问题一知半解。
但话说回来,Flutter 自身就很有问题,一个官方最早做的状态管理( stateful )不好用到如此多的第三方状态管理库相互“厮杀”就挺怪的。
对于我来说 Getx 最大的好处是用法和 Android Architecture Components 很相似,特别便于理解。
GetX +1 . 非常好用.
Provider / bloc 这种就不要再用了.
自然是 Riverpod 没得选
关于Flutter状态管理方案的选择,在2022年及至今,有几个主流的方案各有其优势。
Provider是一个轻量级的状态管理框架,它基于InheritedWidget和ChangeNotifier实现,提供了简单而强大的方式来共享状态,并支持依赖注入,非常适合小型应用和初学者。
Riverpod作为Provider的升级版,提供了更强大的功能和更好的性能,同时保持了简洁性和易用性。它使用全新的架构,具备出色的依赖管理和异步处理能力,适合中大型应用和有一定经验的开发者。
GetX则是一个快速、轻量级的状态管理和路由管理库,它提供了许多便利的功能,如依赖注入、路由管理、国际化、主题切换等。GetX的语法简洁且性能优秀,非常适合构建中小型应用,能够简化开发流程。
此外,Redux、MobX和BLoC也是Flutter中常见的状态管理框架。Redux通过单一的状态存储库管理状态,MobX基于响应式编程,而BLoC则基于Reactive Programming和Stream。
综上所述,选择哪种状态管理方案取决于具体的应用场景和开发经验。开发者应根据项目的复杂度和个人偏好来选择最适合的方案。