作为好几年的客户端开发,平时主要接触原生开发语言,

最近有一些项目需要用到 Flutter ,

发现这玩意的设计各种变扭,,

比如看到这样一句话:

```
StatefulWidget 是不可变的,

需要一个 State 去实际承载者,然后需要实现 StatefulWidget 的泛型,

以便在 State 中通过 widget.获取 widget 的属性。
```

我真的是服了,这设计得啥玩意。。。

纯吐槽,我知道我在这块比较菜,请轻喷。。。。
举报· 190 次点击
登录 注册 站外分享
10 条回复  
honjow 小成 2024-7-21 00:48:02
敢问有没有接触过其它声明式 ui 框架?
Helsing 小成 2024-7-21 01:12:14
确实比较别扭,没有 Compose 的设计好
RightHand 小成 2024-7-21 07:37:46
dart 的语法比较老,外加 flutter 砍了反射,还是固定的编译,不能做编译时处理,所以要写大一堆没用的模板。确实别扭,可能等 dart 的 macro 正式了会好不少吧。
v2agedchen 小成 2024-7-21 12:32:54
搞过客户端原生开发的过来说了,Flutter 不是设计得贼奇葩,我用着比原生开发舒服多了😂
bkmi 小成 2024-7-21 12:44:32
@Helsing Flutter 好歹定义了一个框架,规范大家的写法,Compose 那是完全没设计
Uyloal 小成 2024-7-21 15:40:35
不可变的 StatefulWidget 更加方便 Flutter 做 tree diff 。比如 StatefulWidget 内部有可变属性但没有参数,你可以把 StatefulWidget 声明为 const 。在父 Widget 变化时,tree diff 到这个 StatefulWidget 时会直接返回而不进入内部继续 diff 。
liu731 小成 2024-7-22 09:56:17
舒服的一笔,只能说。
powerman 小成 2024-7-27 06:30:41
https://i.imgur.com/agAJ0Rd.png  至少 dart ,我不需要学,我就看得懂,你看看隔壁的 swiftUI ,我花了 3 天时间,就是没搞懂 各种闭包怎么玩的,语法糖一大堆,我真的是在想,写 swift 的人,键盘是金子做的么,在 IDE 跟 AI 补全加持下,现在多写那么几个括号有那么难,非得要整一大堆的 看不懂的语法糖
dazhuang007 小成 2024-8-6 16:23:29
如果你有机会实际生产中使用个 1 年半载,估计又会说写不来原生开发,一点也不想写了。
12下一页
返回顶部