gpt4 book ai didi

flutter - 为什么大部分代码都使用Provider包而没有使用GetX/Riverpod/Bloc?

转载 作者:行者123 更新时间:2023-12-05 03:21:56 28 4
gpt4 key购买 nike

我正在学习 Flutter。大多数教程使用 Provider 包,但 Youtube 上的其他一些教程使用 GetX。我搜索了一下,发现似乎还有其他软件包,如 BlocRiverpod 等。

我一头雾水,不知道该用哪个?看起来 GetXProvider 更简单,并且具有更多功能/特性,例如导航,但是使用它的代码/教程并不多!我想知道为什么?还有我应该使用哪一个?

编辑:也许这看起来像是一个基于意见的问题,但在我看来它不是。我想知道为什么大多数教程/开源代码仍然使用 Provider 包而不是 GetXRiverpodBloc` 等?

Provider是Flutter支持的官方包,使用起来更安全吗?它有更少的错误等吗? 或者仅仅是因为它是大多数开发人员学会使用的第一个包并且对他们有效,所以他们不想用更好的包来替换它?

最佳答案


Provider 包有很多优点,特别是与 ChangeNotifiers 结合时-

它非常容易理解和推理。该文档清晰简洁,并提供了最佳实践指南。您可以在 Widget 中同时使用响应式(Reactive)和非响应式(Reactive) ChangeNotifiers,这意味着您可以依赖其他 ChangeNotifiers 而不会收到有关更改的通知。这提供了许多性能优势。您也可以将 Provider 用作简单的依赖注入(inject)容器。唯一的问题是,您需要有权访问附加在小部件树上的 BuildContext。


GetX 不仅仅是一个状态管理库,而是一个结合了路由管理和依赖注入(inject)的微框架。它旨在通过超轻量级但功能强大的 Flutter 解决方案提供顶级开发体验。 GetX 的构建基于三个基本原则:

性能:专注于内存和资源的最小消耗

生产力:直观高效的工具与简单明了的语法相结合,最终节省了开发时间

组织:将业务逻辑从 View 和表示逻辑中分离出来再好不过了。您不需要在路由之间导航的上下文,也不需要有状态的小部件

关于flutter - 为什么大部分代码都使用Provider包而没有使用GetX/Riverpod/Bloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72861372/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com