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

2023 了,吐槽下, flutter 的可读性真的差

  •  
  •   kongkongye ·
    kongkongye · 2023-03-16 17:02:19 +08:00 · 3783 次点击
    这是一个创建于 378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如 web 开发里的 html 或 jsx ,都是能从代码看出结构的,但 flutter ,编辑器一格式化完,那完全没法看。再复杂点就要拆成组件来提高阅读性了。
    另外 web 开发里 html ,js ,css 这三者是分开的,但 flutter 里这三者相当于合一起了,从这角度看 flutter 乱成了一锅粥。

    16 条回复    2023-08-14 11:37:50 +08:00
    AoEiuV020CN
        1
    AoEiuV020CN  
       2023-03-16 17:07:16 +08:00   ❤️ 2
    现代语言基本上开发者都是不喜欢一些老旧设计的,
    比如“ html ,js ,css 这三者是分开的,”你觉得是优点,但现在可不止 flutter 在把这些混起来,
    passon
        2
    passon  
       2023-03-16 17:12:56 +08:00
    我感觉挺好的,要用好逗号
    wanguorui123
        3
    wanguorui123  
       2023-03-16 17:15:24 +08:00
    面向过程开发是这样的,所有功能揉成一坨,最后变成屎山。
    daizige
        4
    daizige  
       2023-03-16 17:26:04 +08:00
    @AoEiuV020CN 哈哈 你说得好对 因为我就是这么想的
    SwiftUI 那种也挺好、flutter 也比较能接受
    Chad0000
        5
    Chad0000  
       2023-03-16 17:28:14 +08:00
    我跟 OP 一样,作为一个主后端的,我更喜欢 MVVM 风格。像 WPF 、Angular 。有条理,有层次,有设计。
    kongkongye
        6
    kongkongye  
    OP
       2023-03-16 17:44:49 +08:00 via iPhone
    @AoEiuV020CN 可怜的逻辑脚本就淹没在了布局与样式代码里,不过用了状态管理库,加上合理地提取通用代码 /关键代码,剩下的脚本好像就是为 ui 展现服务的,这样想混在一起也没什么了
    zqlcrow
        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 后台,简单。而且简单了不是一点点。
    gakaki
        8
    gakaki  
       361 天前
    请使用 vscode 和 jetbrain 的 split panel 功能
    gakaki
        9
    gakaki  
       361 天前
    比代码简洁可能没有语言能和 python 比 比 html 简洁 估计就 pug haml 这种了 比 css 简洁就是 sass stylus 了
    gakaki
        10
    gakaki  
       361 天前
    有个叫 flutter-view 的项目 混合了这 2 点 ..
    fromzero
        11
    fromzero  
       331 天前
    需要自己合理重构编写 ui 部分代码,抽成 Widget/ 或者是 method ,这样可读性就好了。而复杂的 widget 是一定有必要抽成多个子 widget 组合起来的。
    fromzero
        12
    fromzero  
       331 天前
    @kongkongye 逻辑代码本身就不应该和 widget 写在一起,而且抽到 viewModel 层,widget 层也就是 ui 层只 相应 viewModel 的数据的变化刷新 ui
    fromzero
        13
    fromzero  
       331 天前
    @fromzero 修正一下错别字:逻辑代码不应该和 widget 写在一起,而是抽到 viewModel 层,widget 层( ui 层)只 响应 viewModel 的数据的变化重新绘制 widget
    Mexion
        14
    Mexion  
       326 天前
    jsx 其实也基本上是合在一起的,但是要把握个度,flutter 不好的一点是它很多情况下是一个样式套一层,非常恶心,比如 Padding 这种,这在 web 中只是一个属性,但是在 flutter 里他直接是一个 widget ,这是非常恶心的事情,样式一多嵌套就非常非常多
    heelerdeer
        15
    heelerdeer  
       274 天前
    感觉 11 楼说的对,做好 widget 抽象很重要
    1219178163
        16
    1219178163  
       227 天前
    flutter 团队原来是做 web 优化的;你猜他们为什么不继续做优化,重启一套,而且还不遵守 标签 样式分开的设计思路?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2587 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:55 · PVG 23:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.