Flutter 项目代码量多起来以后有没有必要用 bloc 分离逻辑和 UI?

332 天前
 AndyZhuAZ

投入和收益比起来值得去做吗?目前定制的 widget 数量在 10 以内,页面有四五个,还没有涉及到数据,预计未来会加入 30+个 model ,会涉及跨平台同步数据,推送服务,内购,持久化(现在还是用 shared_preferences 去存点应用配置,后面应该要有很多文本数据在本地存储,应该是要用 sql 了)

看了 bloc 的文档,感觉做起来很麻烦(也问过 gpt 了想让它帮我迁移是不可能了😂),有没有 flutter 大型项目经验的大佬指点一下有没有必要去引入呢?

.
├── app.dart
├── constants.dart
├── generated
│   ├── intl
│   │   ├── messages_all.dart
│   │   ├── messages_en.dart
│   │   ├── messages_ja.dart
│   │   ├── messages_zh-Hans.dart
│   │   └── messages_zh-Hant.dart
│   └── l10n.dart
├── helper.dart
├── l10n
│   ├── intl_en.arb
│   ├── intl_ja.arb
│   ├── intl_zh_Hans.arb
│   └── intl_zh_Hant.arb
├── main.dart
├── pages
│   ├── about_page.dart
│   ├── home.dart
│   ├── settings_page.dart
│   └── tools_page.dart
└── widgets
    ├── circle_menu.dart
    ├── controls.dart
    ├── dailog.dart
    ├── fade_indexed_stack.dart
    ├── floatingpanel.dart
    ├── webview.dart
    └── modal_sheets.dart
3086 次点击
所在节点    程序员
34 条回复
NewTab12138
332 天前
可以用 riverpod ,bloc 逻辑确实复杂了,而且代码量也多
huohei
332 天前
强烈推荐 riverpod
bg7lgb
332 天前
flutter 渣手建议使用 Getx
zxqkyle
332 天前
趁早改,越后面越麻烦
liudong7351
332 天前
新功能用 bloc 做,旧的可以不迁移吧
lysS
332 天前
逻辑用可编译的写,然后打包成 so
lozzow
332 天前
逻辑用 golang 写可以,编译成 so ,简单方便
wowofe
332 天前
@lozzow @lysS 通过 dart ffi 调用吗
twing37
332 天前
riverpod
twing37
331 天前
另外就是话说你后面要开个天坑吗?本地加同步,model 酸爽的很
AndyZhuAZ
331 天前
@twing37 这还没想好怎么去做,会有很多文本量的结构化数据要读写,不本地存会影响使用。实在麻烦的话我就定期版本更新放 assets 预制数据了,要用的时候更新得了。不用 model 应该也行的通
twing37
331 天前
除非是服务端不保存结构化数据,不然客户端的结构化数据很消耗精力。当然这只是我个人建议
Parva
331 天前
请教一下有经验的大佬们,状态管理到底需要掌握哪个啊?我感觉 Bloc 好像比较正(github 最火)?
Provider+Riverpod
Creator
BloC+Cubit+BlocProvider
MobX
Redux+Fish Redux
GetX
准备面试 flutter 了,这些都看了最基本的使用,不知道面试官究竟会问哪个
twing37
331 天前
bloc riverpod getx 最后的 getx 有黑历史,也不受官方待见,最近好像放弃维护了
i979491586
331 天前
目前在用 provider 使用 mvvm 结构
liu731
331 天前
bloc 嵌套地狱
i979491586
331 天前
@Parva 我推荐你用 provider 封装好后简单好用,getx 不推荐,redux 要写很多额外代码。
hsfzxjy
331 天前
问一下 getx 怎么啦?
sam90
331 天前
bloc 感觉还好呀, 数据流还是比较清晰的
beisilu
331 天前
getx 确实不受官方待见,我也不那么喜欢,但是工作是工作,能快速把活干好就完事了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/945095

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX