V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laters
V2EX  ›  Flutter

flutter 状态管理使用 getx 还是 riverpod

  •  
  •   laters · 2023-11-12 21:13:44 +08:00 · 2339 次点击
    这是一个创建于 410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    flutter 状态管理使用 getx 还是 riverpod ,有性能区别吗, 感觉 riverpod 有点复杂

    27 条回复    2023-11-15 22:07:24 +08:00
    WebKit
        1
    WebKit  
       2023-11-12 21:17:59 +08:00 via Android
    getx 大而全,使用上简单容易上手,riverpod 个人感觉用起来比 getx 麻烦点,但是配合代码生成也还好…性能上似乎 riverpod 更好点
    mainjzb
        2
    mainjzb  
       2023-11-12 21:22:30 +08:00
    我选择 riverpod
    fox0001
        3
    fox0001  
       2023-11-12 21:24:25 +08:00 via Android
    我们用 provider 。riverpod 算是 provider 的优化版吧。
    NewTab12138
        4
    NewTab12138  
       2023-11-12 21:27:47 +08:00 via iPhone
    riverpod ,觉得复杂是用的还不熟练,用多了就觉得好用了
    buf1024
        5
    buf1024  
       2023-11-12 21:53:54 +08:00
    bloc
    GooMS
        6
    GooMS  
       2023-11-13 01:52:39 +08:00 via Android
    provider
    RightHand
        7
    RightHand  
       2023-11-13 07:14:40 +08:00 via Android
    no getx 太污染代码了,简单点用 provider
    implion
        8
    implion  
       2023-11-13 08:34:08 +08:00
    provider
    milukun
        9
    milukun  
       2023-11-13 09:51:27 +08:00
    独立开发首选 GetX
    团队开发听 Leader 的
    EscYezi
        10
    EscYezi  
       2023-11-13 10:16:18 +08:00 via Android
    我用的是 getIt 和配套的 watchIt ,感觉用的人不是很多
    binhb
        11
    binhb  
       2023-11-13 10:35:43 +08:00 via iPhone
    之前在用 getx ,现在在用 riverpod 重写。
    getx 之前好长一段时间没 commit ,感觉维护不是很上心。
    jifengg
        12
    jifengg  
       2023-11-13 16:32:08 +08:00
    我们正在探索,目前用的是 provider
    lwlizhe
        13
    lwlizhe  
       2023-11-14 10:12:57 +08:00
    首先排除 Provider !那玩意用到后面项目发展大了才知道多酸爽;
    getX 和 riverPod 对于简单项目没啥太大区别;不过对于那种要随着广播或者别的东西查询数据的神奇需求,你就知道为什么那帮搞 Toast 之类的作者总是想方设法摆脱 context 了……getx 的一个优势点可能就在这;
    总之一句话,听 leader 的
    begeneral
        14
    begeneral  
       2023-11-14 11:47:41 +08:00
    哪个熟悉用哪个,反正别用 fish_redux
    laters
        15
    laters  
    OP
       2023-11-14 15:10:19 +08:00
    @binhb 有没有示例或模板可以参考
    laters
        16
    laters  
    OP
       2023-11-14 15:11:06 +08:00
    @mainjzb 有没有示例或模板可以参考
    laters
        17
    laters  
    OP
       2023-11-14 15:11:40 +08:00
    @WebKit 现在在使用 getx ,在考虑要不要切换为 riverpod
    laters
        18
    laters  
    OP
       2023-11-14 15:11:50 +08:00
    @NewTab12138 有没有示例或模板可以参考
    laters
        19
    laters  
    OP
       2023-11-14 15:13:13 +08:00
    @lwlizhe 现在一直在用 getx , 在考虑要不要切换为 riverpod , 感觉 riverPod 有点麻烦, 不知道 getx 和 riverPod 有没有性能差距
    laters
        20
    laters  
    OP
       2023-11-14 15:13:25 +08:00
    @begeneral 在考虑要不要切换为 riverpod
    lwlizhe
        21
    lwlizhe  
       2023-11-14 15:42:15 +08:00
    @laters 这俩在原理方面都是一样的吧,感觉性能差距不会有啥太大区别
    laters
        22
    laters  
    OP
       2023-11-14 17:04:12 +08:00
    riverpod getx 是不是类似于 react 和 vue 的关系, 一个自由但是得自己优化,不然写出来就像坨屎, 一个简单 帮你优化好了,不需要过多关注内部逻辑
    binhb
        23
    binhb  
       2023-11-14 19:55:27 +08:00 via iPhone
    @laters
    ?si=UgXCVsV1RNIWQEqC
    简介里面有 github 地址
    begeneral
        24
    begeneral  
       2023-11-14 20:31:06 +08:00
    @laters #20 一个纯状态管理,一个不仅仅状态管理(还有一些其他东西:路由、modal 、国际化),看个人喜欢了,我觉得没啥区别,如果用 riverpod 就比较纯粹一点,getx 比较省心一点。flutter 比较适合小团队快速开发,我现在喜欢 kotlin 和 swift 各自开发,用 flutter 写过 3 年项目,项目大了性能上跟 native 开发还差一口气
    NewTab12138
        25
    NewTab12138  
       2023-11-15 11:24:50 +08:00
    @laters 多看看官方文档
    laters
        26
    laters  
    OP
       2023-11-15 22:07:13 +08:00
    @binhb getx 可以把一个页面的数据放在一个 controller 里, 如果是 riverpod 是不是就得一个数据一个 provider
    laters
        27
    laters  
    OP
       2023-11-15 22:07:24 +08:00
    @begeneral getx 可以把一个页面的数据放在一个 controller 里, 如果是 riverpod 是不是就得一个数据一个 provider
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 11:40 · PVG 19:40 · LAX 03:40 · JFK 06:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.