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

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

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

    比如 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  
       2023-04-02 12:26:29 +08:00
    请使用 vscode 和 jetbrain 的 split panel 功能
    gakaki
        9
    gakaki  
       2023-04-02 12:27:09 +08:00
    比代码简洁可能没有语言能和 python 比 比 html 简洁 估计就 pug haml 这种了 比 css 简洁就是 sass stylus 了
    gakaki
        10
    gakaki  
       2023-04-02 12:27:59 +08:00
    有个叫 flutter-view 的项目 混合了这 2 点 ..
    fromzero
        11
    fromzero  
       2023-05-02 15:50:49 +08:00
    需要自己合理重构编写 ui 部分代码,抽成 Widget/ 或者是 method ,这样可读性就好了。而复杂的 widget 是一定有必要抽成多个子 widget 组合起来的。
    fromzero
        12
    fromzero  
       2023-05-02 19:27:30 +08:00
    @kongkongye 逻辑代码本身就不应该和 widget 写在一起,而且抽到 viewModel 层,widget 层也就是 ui 层只 相应 viewModel 的数据的变化刷新 ui
    fromzero
        13
    fromzero  
       2023-05-02 19:28:49 +08:00
    @fromzero 修正一下错别字:逻辑代码不应该和 widget 写在一起,而是抽到 viewModel 层,widget 层( ui 层)只 响应 viewModel 的数据的变化重新绘制 widget
    Mexion
        14
    Mexion  
       2023-05-07 17:22:26 +08:00
    jsx 其实也基本上是合在一起的,但是要把握个度,flutter 不好的一点是它很多情况下是一个样式套一层,非常恶心,比如 Padding 这种,这在 web 中只是一个属性,但是在 flutter 里他直接是一个 widget ,这是非常恶心的事情,样式一多嵌套就非常非常多
    heelerdeer
        15
    heelerdeer  
       2023-06-28 11:29:01 +08:00
    感觉 11 楼说的对,做好 widget 抽象很重要
    1219178163
        16
    1219178163  
       2023-08-14 11:37:50 +08:00
    flutter 团队原来是做 web 优化的;你猜他们为什么不继续做优化,重启一套,而且还不遵守 标签 样式分开的设计思路?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 02:11 · PVG 10:11 · LAX 18:11 · JFK 21:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.