搞过客户端原生开发的来说说, Flutter 是不是设计得贼奇葩?

113 天前
 BNineCoding

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

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

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

比如看到这样一句话:

StatefulWidget 是不可变的,

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

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

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

纯吐槽,我知道我在这块比较菜,请轻喷。。。。

2710 次点击
所在节点    Flutter
12 条回复
honjow
113 天前
敢问有没有接触过其它声明式 ui 框架?
honjow
113 天前
或者你可以说说你的看法。应该怎么改进比较好呢
Helsing
113 天前
确实比较别扭,没有 Compose 的设计好
RightHand
112 天前
dart 的语法比较老,外加 flutter 砍了反射,还是固定的编译,不能做编译时处理,所以要写大一堆没用的模板。确实别扭,可能等 dart 的 macro 正式了会好不少吧。
v2agedchen
112 天前
搞过客户端原生开发的过来说了,Flutter 不是设计得贼奇葩,我用着比原生开发舒服多了😂
bkmi
112 天前
@Helsing Flutter 好歹定义了一个框架,规范大家的写法,Compose 那是完全没设计
Uyloal
112 天前
不可变的 StatefulWidget 更加方便 Flutter 做 tree diff 。比如 StatefulWidget 内部有可变属性但没有参数,你可以把 StatefulWidget 声明为 const 。在父 Widget 变化时,tree diff 到这个 StatefulWidget 时会直接返回而不进入内部继续 diff 。
liu731
111 天前
舒服的一笔,只能说。
powerman
106 天前
至少 dart ,我不需要学,我就看得懂,你看看隔壁的 swiftUI ,我花了 3 天时间,就是没搞懂 各种闭包怎么玩的,语法糖一大堆,我真的是在想,写 swift 的人,键盘是金子做的么,在 IDE 跟 AI 补全加持下,现在多写那么几个括号有那么难,非得要整一大堆的 看不懂的语法糖
dazhuang007
96 天前
如果你有机会实际生产中使用个 1 年半载,估计又会说写不来原生开发,一点也不想写了。
Crawping
83 天前
其实还是不习惯, 特别是 从原生自由的随意设定对象,绑定 ui 元素后 随意操作 ui, 切换到固定模板控制 ui 会让人无比别扭(尤其是之前不写响应式 UI 的)
milukun
53 天前
那你用 getx 不要理这些😂

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

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

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

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

© 2021 V2EX