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

看了 Flutter 的 80%的官方文档内容,感觉很好

  •  4
     
  •   fyxtc · 55 天前 · 6280 次点击
    这是一个创建于 55 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看的时候就觉得和 react 很像,在 FAQ 里面也提到了“ inspired by React."

    整合了 bootstrap 的 gird system,react-route 的理念,直接内建支持丰富的 row/col/flex 布局和路由跳转。对于有 oop 编程经验的来说,dart 这个语言基本不用学,直接上手就好了,跟着做了教程的几个 demo,很舒服,没什么痛点,文档非常完善,主要的 widget (比如 listview)都有配置一分钟视频演示一个 widget 的表现及用法,很赞。

    Material Design 的是 Google 推出的跨平台 UI 设计方案,和 flutter 天然结合,学起来非常顺手。同时也提供了 ios 风格的 cupertino library。真的可以说很贴心了

    IDE 支持 android stuido, IDEA, VSC。我个人是在 VSC 开发的,官方的制作的插件,极其强大,就是加了 VI 插件的 VSC 是真的卡的一批啊。。。。(我还是喜欢 sublime,可惜没有插件)

    顺便说下 firebase,这是 google 提供的一个云 nosql 数据库,可以自己在上面加各种测试数据,可以配合 ios/android/web/unity 使用,前端自己跨设备调试同步数据真的美滋滋。当然 flutter 集成起来一气呵成,毕竟自家的。

    最后,相比 react,我个人更看好 flutter 未来的发展。😁

    第 1 条附言  ·  55 天前
    不知道为什么大家都在说嵌套的问题,个人觉得这种嵌套还是可以接受的,而且复杂的组件封装一下就好了。怎么说呢,其实前端很难避免不嵌套吧,就算是传统的 ios/android 写法,也是存在嵌套,只不过当时使用的类的嵌套,感觉没有那么明显,现在换成了括号嵌套,直观感觉上可能会强烈一点。我是能比较快的适应这种改变的。

    还有同学说前端很多东西学,我个人不到 3 天就看完这些教程了,其实只要稍微有些经验,过度过来就是熟悉框架思想和 API 的问题。我是很喜欢学习新东西,新技术的。每个框架都有自己的优势和劣势,选择适合自己的才是最好的,但是如果连尝试都不去尝试,怎么有选项呢?

    这里也就是分享一下自己的心得,给没学过的同学或者是 react/rn 开发者,或者是在寻找跨平台解决方案的同学有个大概介绍哈。
    61 回复  |  直到 2019-07-27 14:40:49 +08:00
        1
    Cellei   55 天前
    Flutter,学起来
        2
    wangxiaoaer   55 天前   ♥ 3
    那屎一样的嵌套能忍?
        3
    guoyuchuan   55 天前
    坑有点多
        4
    ericgui   55 天前 via Android   ♥ 3
    还是那句话,距离产生美。
        5
    FrankFang128   55 天前   ♥ 1
    @wangxiaoaer 所有 UI 描述语言都有嵌套,不是 Dart / Flutter 的问题
        6
    jziwenchen   55 天前
    可以尝试组件化
        7
    xiaozhu5   55 天前
    我觉得 Flutter 什么都好,就是那嵌套让人感觉不爽
        8
    blue0125   55 天前 via Android
    上 pug 模板(手动滑稽)
        9
    opentrade   55 天前 via Android
    真心希望他们接受 dsx 的提议
        10
    anyele   55 天前 via Android
    这么多嵌套是真的烦
        11
    scofieldpeng   55 天前
    楼上说嵌套麻烦的,我用起来感觉非常爽,真觉得嵌套深的,为啥不封装一下?
        12
    Vegetable   55 天前
    我不知道写 ui 怎么才能避免嵌套
        13
    Danswerme   55 天前 via Android
    有什么 ui 描述语言是没有嵌套的吗?
        14
    starerlloll   55 天前
    app 复杂了坑就多了
        15
    mikulch   55 天前
    前端到底有多少东西啊。每个都说能替代别人,能够大一统。
    每天都在出要改变世界的框架。
        16
    damngood   55 天前
    个人感觉 Swift UI 里面的 链式 /Modifier 构建的方式要比 Flutter 好不少.
    当然嵌套是不可避免的. 只是我更偏向 Swift UI 的构建 UI 的方式.
        17
    luvxy   55 天前
    那个嵌套感觉比 html 还恶心啊
        18
    bullettrain1433   55 天前
    声明式 ui 还是以后的方向,支持,和 swiftui 有异曲同工之妙
        19
    Sniper416   55 天前
    嵌套太恶心!
        20
    skiy   55 天前
    环境搭不起来。不知道是不是墙太厚的原因。
        21
    zdd2389   55 天前
    同屎一样的嵌套,xml 的嵌套起码前后标签还能对的上,维护起来方便。搞不懂为啥不用 android 原生的那一套来做 ui。起码天然的 mvc 模式,逻辑和 ui 分离看得就舒服,没看出来 flutter 的 ui 写法有什么优势的。
        22
    bigjack   55 天前
    建议放弃,内存占用不是一般的多,响应也有点慢,还有各种嵌套,真有需求建议使用 react-native
        23
    zdd2389   55 天前   ♥ 1
    @Vegetable

    @Danswerme 吐槽 flutter 的嵌套,是因为它用括号来表现嵌套,而且因为他的各个都是组件的理念,导致嵌套的层数比 android 原生多的多了,连一个居中都是一个嵌套。
        24
    fyxtc   55 天前
    @zdd2389 append 刚加就看到了朋友的回复,我们的想法不谋而合
        25
    winter91   55 天前
    @skiy 国内有镜像站
        26
    fyxtc   55 天前
    @bigjack 谢谢建议,我们现在的项目就是 RN,下一个项目我应该会建议 Flutter 作为备选技术方案考虑
        27
    murmur   55 天前
    如果 flutter 早于 react,那 flutter 是可以吹的,但是现在移动 app 热潮过了,几波大潮过了大家还都是 native,react native 又没有什么致命伤,list 多了性能不好你就不要放那么多数据就好了,所以这个时候他那个反人类的语法就必须喷
        28
    ox180   55 天前
    哪位大佬来一个美颜的 sdk ??
        29
    ronaldong   55 天前
    没什么好喷的,大家各取所需而已,觉得好就用,觉得不好就别用,最后目的不都是为了完成上面交代下来的开发任务吗?
        30
    reus   55 天前
    嵌套算个屁问题,按一下 % 就能跳转的

    我倒是了解为什么有人喷括号嵌套,又不喷 html 嵌套了

    原来就是喜欢罗嗦
        31
    seeker   55 天前
    GUI 天生就是嵌套的
        32
    whypool   55 天前
    flutter 嵌套可以叠金字塔了

    html 虽然也玩嵌套,但是节点划分好,要叠金字塔还是很少见

    flutter 连样式也嵌套,不能忍了

    想法挺好的,就是语法太智障,学啥 react,学 ng 用结构绑定语法,样式分离,估计早火起来了
        33
    otakustay   55 天前
    我写了 N 久的 react,拿去 flutter 玩第一个坑就是这货没有 full controlled mode 的概念……
        34
    otakustay   55 天前   ♥ 2
    1. 吐槽嵌套的,嵌套是 UI 的特性,不是任何语言的特性,想不要嵌套就先从改变世界开始,别对着一个编程语言怼
    2. 我们得承认现在的 UI 开发主流思想确实是 Web 前端带过来的,当然你可以说 WPF 这种更先进,但这先进的东西完全没流行起来
    3. 嵌套为什么看着恶心?难道不是你组件拆得粒度太粗搞得嵌套太深吗?怎么没见人说函数调用嵌套太深呢,因为人人都会拆函数,而不是人人都会拆组件
        35
    hoosin   55 天前
    楼主说的不知所云

    react 和 flutter 没有什么关系,
    一个是 web 层面的东西,一个是客户端控件层面的东西,
    所以这 2 个东西放在一起比较着实牵强
        36
    xFrye   55 天前
    关于嵌套的,可以靠 ide 去做辅助,我看 Android Studio 做的还算不错的,同一层级添加了个辅助线,看上去比 vsc 那种方式舒服
        37
    nguoidiqua   55 天前 via Android
    就知道嵌套嵌套,什么界面不用嵌套?而且其他代码就不要嵌套了?怎么没人说?

    还括号恶心,你平时写别的代码不用括号?方括号加斜杠就好看?其实 Android 用 XML 才真是难看,flutter 这样和普通代码差不多,感觉没那么割裂。

    其实很多人只是不习惯而已,非要带着有色眼镜蒙蔽自己干什么,这只会阻碍你看清事实罢了。
        38
    madtcsa   55 天前
    原生代码写界面也是嵌套。只是对于开发者,看起来更直观,更友好而已。可以多层封装,减少视觉上的嵌套。
        39
    momocraft   55 天前
    我自己写 react 和 rn 也是四处 <Vertical><VerticalCenter> ... </VerticalCenter></Vertical> ,看了你们讨论觉得有点罪恶 lol
        40
    ronaldong   55 天前
    作为 android 开发,我现在确实觉得 xml 写起来也其实挺痛苦的,给每个控件取一个 id 太难了,最近写了 flutter 之后,我才发现这东西很好用,嵌套太多的问题其实也很好解决,自己多把组件抽出来就好看多了。
        41
    fyxtc   55 天前
    @hoosin 直接的比较当然是 rn,rn 和 react 一脉相承,懂的人自然懂,如果不知所云,那就不知所云吧
        42
    fyxtc   55 天前
    @madtcsa 是这样的,而且 xcode 的开发流程可以说做到极致体验了,不过没法跨平台,所以工具是只有最合适的工具,不存在最好的工具。
        43
    fyxtc   55 天前
    @whypool 我没太明白你的观点,叠金字塔这种,任何闭包特性的语言都能做到一个 callback hell,并且最基本的语言都能做到无限 if,这个怪到语言层面太牵强了。样式那个,你完全可以把 styles 分离到另一个文件,甚至可以抽取到 widget 里面。写 UI 难道不用写样式吗,强如 xcode 也需要自定义样式,只不过他放在了 ide 层面,代码层面的话,rn 是这么做的,web 也是这么做的,这种理念就是从 web 迁移到 app 的。至于觉得那种方式更好我觉得很难定义,我个人两种方式都能接受,哪种框架的解决方案更适合当前需求,我就会考虑那种方案,至于你说的这些点在我看来完全不是评估的点。
        44
    CommandZi   55 天前
    没人吐槽嵌套,楼上也只是吐槽「 flutter 的嵌套」,一大堆人~
    好比某人吐槽某只(泰迪)眼睛丑,「所有狗都有眼睛,这是不可避免的」「泰迪都是两只眼睛,那边那只也有两只眼睛,你怎么不说它丑」「就知道眼睛眼睛,哪只泰迪没有眼睛」「吐槽眼睛的,这是动物的特性,想不要眼睛的,你可以去改世界」
    啧啧啧,写着写着笑出声
        45
    otakustay   55 天前
    @CommandZi 问题在于,他们指着一条正常的狗说丑,那丑就是狗的天性了呗。flutter 完全没有比任何其它 UI 构建的语言或框架更丑啊……
        46
    otakustay   55 天前
    我回忆了一下,确实好像是有不嵌套的 UI 开发的写法的,大概是这么写的:

    const conatiner = new CardLayout();
    const textbox = new TextBox();
    textbox.left = 30;
    textbox.right = 40;
    container.addChild(container);

    没错,不嵌套了,我认了……
        47
    huage2580   55 天前
    我尝试着混合开发了,问题很多,说实话,真心达到稳定,感觉等一年后吧。现在尝鲜,只能踩着坑走
        48
    ronaldong   55 天前
    @huage2580 我最近也在做混合开发,你目前遇到了哪些问题,能分享下吗?
        49
    dremy   55 天前 via iPhone
    不嵌套的话,难道全部都用绝对布局吗?搞得和做 ppt 一样了
        50
    encro   55 天前
    嵌套的解决方案是开发 widget,这样就嵌套在别的地方去了,而不是当前页面。

    不过不理解闲鱼 iOS 为什么那么卡。
        51
    skiy   54 天前 via Android
    @winter91 知道。我是说 android 的。唉。本想试用一下。搞不定
        52
    murmur   54 天前
    @nguoidiqua XML 也好,HTML 也好,都近乎于标准,而且在 ide 的加持下不需要打多少关键字的,flutter 除了信仰还有什么
        53
    U2Fsd   54 天前
    然而我试了好几个 Futter 的开源项目。。跑在 iOS 上的时候滑动或切换列表都会掉帧。

    难道是我打开的姿势不对么。。
        54
    kwrush   54 天前
    @mikulch flutter 不是专为前端开发设计的
        55
    ianva   54 天前
    嵌套的本质不就是 function compose 么,react 为什么比哪些模板强,因为开发他的人 理解 FP,原本 用 compose 能解决的问题为什么需要各种模板,这也是 JSX 比哪些模板们强大的地方,直接转换成相应的 function compose
        56
    gustav   54 天前
    生态差太远,最后就是到处嵌 web view,还不如直接用 js
        57
    Rorysky   54 天前 via iPhone
    @kwrush 你这说的... 那还能用在哪里? 目前也就前端对这个有点兴趣吧
        58
    murmur   54 天前
    @ianva react 的原因一是市场早,二是 rn 加成,三是洋人信仰加成,如果 compose 真的那么牛逼,vue 也不会抢下一大块份额来
        59
    djyde   54 天前
    JSX 出来的时候,个个都说丑。现在 flutter 没有 JSX, 又说嵌套恶心。
        60
    murmur   54 天前
    @djyde jsx 丑是因为那个时候还没出 vue 的 template 简写,后来 vue2 出来了,有的对比才有的喷
        61
    FrankFang128   54 天前
    @otakustay 层级深一点,你的代码就会倾向于嵌套了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3073 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 10:34 · PVG 18:34 · LAX 03:34 · JFK 06:34
    ♥ Do have faith in what you're doing.