刚学Flutter吗?GetX是否适合你呢?
刚学Flutter吗?GetX是否适合你呢?
是否使用 GetX?
看到有许多人在讨论 GetX 如何如何,通常很多人是刚进入 Flutter 的初学者,一眼望去,有许多状态管理可以选择,感觉无从下手,所以提出自己的询问,我觉得这些人做得很好,他们在决定投入之前,会先尝试一下询问社群。
在这里,我先给出个我的意见:
不建议你使用,尤其在专业以及大型的产品上更不应该使用,而且它也无法帮助你的职业发展。
如果你写 GetX 有一段时间了,产品运行的还很良好,那恭喜你,你很幸运,棒棒哒,做得很好,请继续,如果您尚有余力的话,还可以加入开源社区去帮助改进GetX。
那么,我为什么不建议使用 GetX 呢?如果你今天是一名专职的 Flutter 工程师、开发者,想要持续自己提升能力的话,那它拥有几个特点你必须知道💥
- 它自成一格,感觉正在开发的是一个 GetX APP;
- 开发方式与 Flutter官方 所给出的意见不一致,你只是用但不理解;
- 包山包海,有Router、Storage、i18n、Http等等,做了很多专门的项目在做的事情,东西太多而导致深度不够,缺少人力去进行优化以及改进现有问题,上面提到的每一样都存在着别的更好选项;
- 身为大型开发组件或框架?开发了这么久却只有README文件,没在用都听得到其他人抱怨,缺少基本的API说明;
- 官方没有积极维护与改善,存在许多旧问题悬而未决,也没有路线图和规划,一旦完全停摆可能头就大了;
- 编写测试不好编写(因为耦合性太大),这可是个大麻烦,那实际开发中,难以保证产品的稳定性。
你可以想一下,包了这么多东西的库,如何即时因应 Dart 和 Flutter 所做出的更新? 显然开发团队以及社群人力不足,如果公司的大型项目这时候发现问题了,想要修改,你可以整套直接重写吗?还是先完成功能再说,之后遇到问题再想办法,这样的做法不错对吧⁉️
有些人写了几年的 Getx 但对 Flutter 不熟,可能只了解比较肤浅的观念,它对我们没有什么加分,很多国外企业看到履历上使用过 Getx,可能会对开发者印象不好,甚至是直接认定开发者是 Getx开发者 而不是一个 Flutter开发者,而开发者后面再去学习 Flutter 就成本太高了,觉得很不适应和替代。
再三强调,Getx 是个奇葩的特例,别被开发组件的Like数以及青少年开发初期的便利性给欺骗,Pub 当中的相关资讯只是参考,大部分适用性考量还是需要再三确认,可以的话,看源码最好。
当然,如果你只是好奇想去了解,在自己的项目中玩票,这是弄懂它最快的方式,但真的不要一开始就碰它,这是我能提供的建议,也了解到了很多开发者以及社群的想法后得出的结论。
推荐几个状态管理组件的学习选项📝
- ScopedModel
- Provider
- Bloc
- Riverpod
开发组件如何选择及注意事项💡
- 只支持单一任务,避免臃肿;
- 没有必要不要使用;
- 可以的话,想要什么,自己编写或者改写。
相关讨论
Twitter、Reddit 很常有 Getx 讨论,可以去看看哦:
- www.reddit.com/r/FlutterDe…
- twitter.com/creativemay…
- www.reddit.com/r/FlutterDe…
- www.reddit.com/r/FlutterDe…
- twitter.com/remi_rousse…
谚语
只做一件事,并把它做到完美。
翻译自
转载自:https://juejin.cn/post/7400609489790271527