我感觉我学习 Flutter 的方式可能有点不对,求指教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
abcbuzhiming
V2EX    Flutter

我感觉我学习 Flutter 的方式可能有点不对,求指教

  •  
  •   abcbuzhiming 2021-06-30 00:31:48 +08:00 3074 次点击
    这是一个创建于 1622 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我很熟悉 Java,js,所以 dart 对我没啥难度。随便看了看语法就上手了。但是,flutter 自身,我学起来总觉得好别扭:

    我没有移动端 UI 开发的经验,web 端基本也不管界面布局,仅有的 UI 经历都是 windows 桌面开发。理解 flutter 自身结构感到非常的吃力,光 widget 的两种有状态,无状态,就卡了我很久,满脑子就在想你为什么要设计成这样?这样的意义在哪里。

    而且我看的官方教程,总有一种奇怪的不连贯感,比如教程里讲 widget 的时候着重讲了大量和状态有关的东西。但是到实际例子的时候就发现,咦?这里怎么是这样写的?那个方法和属性是干嘛用的?之前没提啊。。。反正就是觉得 [脱节感]

    我折腾了一周多了,到现在对着官方例子都没有把一个最基本的底部导航栏弄明白。我感到我打开 Flutter 的方式应该出了问题。
    5 条回复    2021-07-08 21:18:37 +08:00
    mxT52CRuqR6o5
        1
    mxT52CRuqR6o5  
       2021-06-30 00:51:15 +08:00 via Android   1
    你这属于没写过 mv 的 ui 不理解 mv 的那一套哲学
    mv 的那套哲学就是,如果我们现在需要一个可能会发生变动的界面,我们需要先设计一个状态机,然后写一套代码根据状态机的状态去生成我们想要看到的 view,当需要变动 view 时,我们需要做的不是直接去操作某个 view 节点,而是直接去改变状态机的状态,然后在运行一遍代码生成新状态下的 view 完成视觉更新,所以会变的界面就是对应 flutter 的 stateful widget,不会变的界面就对应 stateless widget
    现在的 ui 框架都是这个套路,不需要像 jquery 那样去直接操作具体的某个 view 节点
    0001110001011
        2
    0001110001011  
       2021-06-30 00:52:17 +08:00
    1. 如果你没写过 Android 或者 iOS,那么移动开发,肯定有很多不了解的。这是正常,比如里面的 view,是什么,widget 是什么? 这些都要一个一个的去了解。 没那么 easy

    2. 有状态是通俗说明是通过后面计算 /取数据算出来的,可以局部改变的 view,无状态,就是一个死页面,不会改变的,两者性能不一样,但是你如果非要都用 有状态的,那也可以,无非就又些地方性能没那么好而已

    3. flutter 教程现在网上层次不齐。说句不好的话,官方的 issuess 都太多没解决。 学习吃力,一样,我当时也吃力。
    而且跨平台远远没有说的那么厉害,最多也就是 Android+ios 支持的比较好而已。

    5. 官方的 widge 。数量非常非常多,布局的,控件的,我到现在都没了解完,最多也就了解十来个而已。这也只能多去看看其他源码,慢慢学习。

    上面都是废话,其实一句话总结下来就是,你没开发过移动端,所以很吃力,里面很多思想都是通用的, 多去看看源码,文章, 后面你再转 swift 也更快速。


    6. 有学习疑问,可以进我的交流群来交流,里面有群二维码,我写了个 https://github.com/IT-Weekly/APP <IT-周刊>。支持全平台的 flutter app
    lagoon
        3
    lagoon  
       2021-06-30 09:02:33 +08:00
    要理解意义和为什么这么设计,自然是比较困难。

    加上你并没有 web ui 和 app 开发经验。

    从 Android 进入的我表示 state 这玩意真的是好文明。

    不过事实上 Google 的有些脑洞就是奇葩。毕竟 Flutter 还年轻,还没有千锤百炼。

    “那个方法和属性是干嘛用的”,点开看注释。
    Chan66
        4
    Chan66  
       2021-06-30 16:50:17 +08:00
    去了解一下声明式 UI 可能要好点
    Steaven
        5
    Steaven  
       2021-07-08 21:18:37 +08:00
    我教程都没有看,就看了好多视频,跟着视频写。现在感觉理解了一些,现在不看视频自己摸索写,不懂就查资料。现在第三方的库也挺多的,自己不会写直接用第三方的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5855 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 06:18 PVG 14:18 LAX 22:18 JFK 01:18
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86