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

2023-06-02 08:38:11 +08:00
 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
3487 次点击
所在节点    程序员
34 条回复
Parva
2023-06-02 11:51:02 +08:00
@i979491586 恩,那就是在 Provider 、RiverPod 、BLoC 中选择了
keppelfei
2023-06-02 12:06:12 +08:00
Getx 为啥不维护了,菜鸟的福音啊,作者有透露吗
fox0001
2023-06-02 12:50:45 +08:00
用过 Provider ,很爽
dabbit
2023-06-02 13:35:16 +08:00
不知道大伙是在哪看到作者说 getx 不维护的。作者前两周不是才说了 5.0 快搞定了吗
t123yh
2023-06-02 14:17:34 +08:00
@Parva riverpod 使用体验很不错,推荐尝试
Xzong
2023-06-02 14:37:52 +08:00
为啥没人推荐 flutter_redux ?
unicreators
2023-06-02 14:42:54 +08:00
之前写过一个这个 https://github.com/unicreators/mvvm 你看看能不能用的上
KT0J
2023-06-02 14:52:43 +08:00
我用的 getx ,它实在是,太方便,太简单了。。。。
yawenimy122
2023-06-02 15:26:54 +08:00
难道不是用 getx 吗?
yveJohn
2023-06-02 16:43:04 +08:00
人生苦短,我用 Getx
Parva
2023-06-02 16:59:33 +08:00
@t123yh 恩,刚又去把 Riverpod 搜了一遍,了解到它确实解决了很多 Provider 的痛点。
那我的范围就剩 Riverpod 和 BLoC 之间的选择了。
lysS
2023-06-02 17:12:28 +08:00
@wowofe 是的,我还写过 demo ,由于不会 Android ,在打包时卡了好久,原来要在规则文件里面把 so 加进去
xsen
2023-06-02 17:21:04 +08:00
建议 go + flutter ,flutter 通过 dart ffi 、nats/gprc 或者 http 这些与 golang 交互
rsyjjsn
2023-06-02 19:01:33 +08:00
之前调研过几个库,最终决定 Provider ,简单好理解

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

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

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

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

© 2021 V2EX