比如 web 开发里的 html 或 jsx ,都是能从代码看出结构的,但 flutter ,编辑器一格式化完,那完全没法看。再复杂点就要拆成组件来提高阅读性了。
另外 web 开发里 html ,js ,css 这三者是分开的,但 flutter 里这三者相当于合一起了,从这角度看 flutter 乱成了一锅粥。
1
AoEiuV020CN 2023-03-16 17:07:16 +08:00 2
现代语言基本上开发者都是不喜欢一些老旧设计的,
比如“ html ,js ,css 这三者是分开的,”你觉得是优点,但现在可不止 flutter 在把这些混起来, |
2
passon 2023-03-16 17:12:56 +08:00
我感觉挺好的,要用好逗号
|
3
wanguorui123 2023-03-16 17:15:24 +08:00
面向过程开发是这样的,所有功能揉成一坨,最后变成屎山。
|
4
daizige 2023-03-16 17:26:04 +08:00
@AoEiuV020CN 哈哈 你说得好对 因为我就是这么想的
SwiftUI 那种也挺好、flutter 也比较能接受 |
5
Chad0000 2023-03-16 17:28:14 +08:00
我跟 OP 一样,作为一个主后端的,我更喜欢 MVVM 风格。像 WPF 、Angular 。有条理,有层次,有设计。
|
6
kongkongye OP @AoEiuV020CN 可怜的逻辑脚本就淹没在了布局与样式代码里,不过用了状态管理库,加上合理地提取通用代码 /关键代码,剩下的脚本好像就是为 ui 展现服务的,这样想混在一起也没什么了
|
7
zqlcrow 2023-03-26 23:54:45 +08:00 1
有利有弊吧。
我学 web ,现在的痛苦了,我要学 react ,学 html ,学 css ,学 js 。 最少最少,要学 4 样东西,才能写 web 。 但学 flutter ,只要学一样东西。 会的人,当然会说,很简单的,不用会,了解一下就行。 但从 0 开始自学,我觉得差别很明显。 flutter 是我现在学过的,最傻瓜的东西。 远远比 Android 原生、iOS 原生、web 、java 后台,简单。而且简单了不是一点点。 |
8
gakaki 2023-04-02 12:26:29 +08:00
请使用 vscode 和 jetbrain 的 split panel 功能
|
9
gakaki 2023-04-02 12:27:09 +08:00
比代码简洁可能没有语言能和 python 比 比 html 简洁 估计就 pug haml 这种了 比 css 简洁就是 sass stylus 了
|
10
gakaki 2023-04-02 12:27:59 +08:00
有个叫 flutter-view 的项目 混合了这 2 点 ..
|
11
fromzero 2023-05-02 15:50:49 +08:00
需要自己合理重构编写 ui 部分代码,抽成 Widget/ 或者是 method ,这样可读性就好了。而复杂的 widget 是一定有必要抽成多个子 widget 组合起来的。
|
12
fromzero 2023-05-02 19:27:30 +08:00
@kongkongye 逻辑代码本身就不应该和 widget 写在一起,而且抽到 viewModel 层,widget 层也就是 ui 层只 相应 viewModel 的数据的变化刷新 ui
|
13
fromzero 2023-05-02 19:28:49 +08:00
@fromzero 修正一下错别字:逻辑代码不应该和 widget 写在一起,而是抽到 viewModel 层,widget 层( ui 层)只 响应 viewModel 的数据的变化重新绘制 widget
|
14
Mexion 2023-05-07 17:22:26 +08:00
jsx 其实也基本上是合在一起的,但是要把握个度,flutter 不好的一点是它很多情况下是一个样式套一层,非常恶心,比如 Padding 这种,这在 web 中只是一个属性,但是在 flutter 里他直接是一个 widget ,这是非常恶心的事情,样式一多嵌套就非常非常多
|
15
heelerdeer 2023-06-28 11:29:01 +08:00
感觉 11 楼说的对,做好 widget 抽象很重要
|
16
1219178163 2023-08-14 11:37:50 +08:00
flutter 团队原来是做 web 优化的;你猜他们为什么不继续做优化,重启一套,而且还不遵守 标签 样式分开的设计思路?
|