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

Flutter 正式版 1.0 发布了,有同学投入或准备投入生产环境了吗?

  •  
  •   lookforsex · 2018-12-05 10:05:42 +08:00 · 8263 次点击
    这是一个创建于 2180 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉是时候上手了。

    个人有一个小疑问,就是 iOS 版的能上架 App Store 吗

    57 条回复    2018-12-07 09:55:43 +08:00
    Jalinzqj
        1
    Jalinzqj  
       2018-12-05 10:09:06 +08:00
    为啥不能,我们的都已经上过了
    ShuoHui
        2
    ShuoHui  
       2018-12-05 10:09:49 +08:00 via iPhone
    有点感兴趣
    hais1992
        3
    hais1992  
       2018-12-05 10:16:55 +08:00
    -.- 感觉写布局 总有点不爽~~
    mrhhsg
        4
    mrhhsg  
       2018-12-05 10:20:41 +08:00
    感觉 dart 需要写分号很浪费键盘
    66beta
        5
    66beta  
       2018-12-05 10:25:51 +08:00 via Android
    看了缩进地狱想达打人
    yimity
        6
    yimity  
       2018-12-05 10:53:11 +08:00
    不能上架 Google 开发它干啥?
    chai2010
        7
    chai2010  
       2018-12-05 10:56:14 +08:00   ❤️ 2
    https://github.com/chai2010/awesome-dart-zh
    Dart/Flutter 资料精选中文版

    欢迎关注
    gz911122
        8
    gz911122  
       2018-12-05 10:57:36 +08:00
    要是能支持 kotlin 就好了
    dart 这个语法。。有点难受
    server
        9
    server  
       2018-12-05 11:00:04 +08:00
    在车上
    debuggerx
        10
    debuggerx  
       2018-12-05 11:10:29 +08:00   ❤️ 1
    @hais1992 熟悉了比原生简单快速得多,做特效和自定义控价也都很方便

    @mrhhsg ide 的完成快捷键不就自动补上分号了么

    @66beta 新手的错觉而已,写两天习惯了并学会怎么拆分组件就清晰得很了

    @gz911122 很快能适应的,毕竟是简化过的现代语言

    另外借机贴下我的掘金页面,人懒没写啥东西,不求点赞,只希望能对需要的朋友有点帮助~~
    https://juejin.im/user/5b4c92426fb9a04fea588f4d/posts
    lnim
        11
    lnim  
       2018-12-05 11:15:41 +08:00 via iPhone
    咸鱼不是就用了? 大部分都是先应用一部分业务吧,难道直接哈梭?
    zenghaojim33
        12
    zenghaojim33  
       2018-12-05 11:21:09 +08:00
    和 RN 比优势在哪
    whypool
        13
    whypool  
       2018-12-05 11:26:23 +08:00
    主要是层层嵌套,堪比 js 的 callback

    希望有大佬能出个框架,mvvm 什么的都能上

    想要火起来,直接抄一个前端的,比如 vue 的开发方式

    倒是希望能统一开发,分别部署
    hbin
        14
    hbin  
       2018-12-05 11:32:25 +08:00
    Grab 也在用,已经在生产环境了。
    orangeade
        15
    orangeade  
       2018-12-05 11:32:54 +08:00
    能写 web 吗
    Kei
        16
    Kei  
       2018-12-05 11:39:46 +08:00
    https://android.jlelse.eu/comparing-apk-sizes-a0eb37bb36f
    Hello World 7.5 MB 只想写些简单小功能 App 的有点望而却步……
    byuan04
        17
    byuan04  
       2018-12-05 11:51:54 +08:00
    @Kei swift hello world 我记得有十几 M。。。
    reus
        18
    reus  
       2018-12-05 11:55:30 +08:00
    @whypool 你 vue 写 html 难道不是层层嵌套?
    cubepoint
        19
    cubepoint  
       2018-12-05 11:58:22 +08:00
    准备上车
    yrom
        20
    yrom  
       2018-12-05 11:59:41 +08:00
    看起来可以上车了
    kooze
        21
    kooze  
       2018-12-05 12:02:31 +08:00
    App Store 审核一次通过
    sfree2005
        22
    sfree2005  
       2018-12-05 12:14:40 +08:00 via Android
    @orangeade flutter 本身不行,但 angular dart 可以的,但用的人肯定远小于 Angular 本身
    season4675
        23
    season4675  
       2018-12-05 12:15:14 +08:00
    我准备使用 flutter 了
    geshansuiyue
        24
    geshansuiyue  
       2018-12-05 12:27:20 +08:00
    写个布局一堆嵌套,太难受了。
    ck65
        25
    ck65  
       2018-12-05 13:00:22 +08:00
    Grab Food 基于 flutter 开发,已经上线很久了。
    heiybb
        26
    heiybb  
       2018-12-05 13:07:25 +08:00 via Android
    缩进真的是地狱
    f2ck
        27
    f2ck  
       2018-12-05 13:25:09 +08:00 via iPhone
    写个 hello word,都有 100m 了。

    不过已经在学习了,准备用 flutter 重构目前的 APP,公司已经让学了。
    f2ck
        28
    f2ck  
       2018-12-05 13:27:26 +08:00 via iPhone
    @zenghaojim33 优势多了去了,自行去百度。

    我个人认为最优势的地方就是性能这块,谷歌自行实现 GDI,这点完全超越 RN,最高帧能达到 120。
    hyyou2010
        29
    hyyou2010  
       2018-12-05 13:29:36 +08:00
    学过一点点,个人很看好,比开发原生 Android 来得容易
    flutter 借鉴了 react 的理念,这两者开发起来很接近,state+props 这种样子
    dart 既简便,又是强类型,很不错
    marcushbs
        30
    marcushbs  
       2018-12-05 13:30:01 +08:00
    这会儿整一个 xml 的 storyboard 支持出来岂不是要火?
    bhaltair
        31
    bhaltair  
       2018-12-05 13:45:13 +08:00
    前端开发者不学安卓靠这个可以做原生开发吗?
    wly19960911
        32
    wly19960911  
       2018-12-05 13:45:28 +08:00
    @whypool flutter 怎么不组件开发了,什么东西都要学前端的屎?好的不学学坏的。

    flutter 里面状态改变直接调用 setstate 就可以了,你要理解为什么要调用这个方法,前端框架用双向绑定是因为 js 实现改变值太麻烦了。

    嵌套的问题,组件开发自己理解下怎么拆分组件,本身所有的 ui 就是一棵树,大家都是嵌套的东西,vue 高级在哪里呢?

    关于 demo 的问题,建议大家去 https://github.com/flutter/flutter 里面 example 中的 flutter_gallery 看看,这个 demo 里面涵盖了很多 ui 组件和普通的用法。同时包括动画,可以对性能有一定的了解。
    wly19960911
        33
    wly19960911  
       2018-12-05 13:50:57 +08:00   ❤️ 1
    @bhaltair 和前端有区别,但是很多开发思路是共通的,试试看看就知道了,工具建议用 Android studio,不要用 vscode,因为调试过程中,vscode 不具备调试工具。

    至于你想说的做到什么地步的开发,我不敢保证,我现在对动画的处理也不很理解(不是使用,是开发一个动画效果的组件),感觉不好处理,其他的东西都是和普通前端处理前端逻辑类似了。你可以看看我 32 楼说的 demo,先看看官方告诉你能做成什么样子和代码是什么样子
    koalli
        34
    koalli  
       2018-12-05 14:00:02 +08:00
    @bhaltair 这玩意本质上还是对原生功能的封装,如果你原生里面没有集成某个库而你又需要这个,你 flutter 再怎么写也写不出来。一旦你需要针对各个平台集成不同的库写不一样的代码,就跟 react native 是一个道理了。
    zjsxwc
        35
    zjsxwc  
       2018-12-05 14:03:47 +08:00 via Android   ❤️ 1
    别名:angular for mobile
    shuhao
        36
    shuhao  
       2018-12-05 14:37:39 +08:00 via Android   ❤️ 1
    @mrhhsg 这都能吐槽...
    sugaralex
        37
    sugaralex  
       2018-12-05 14:40:10 +08:00
    这玩意儿真没劲,现在客户端天天就解决怎么画界面了.
    学 Flutter 还不如学点别的
    alvince
        38
    alvince  
       2018-12-05 14:40:28 +08:00
    不存在的,生产是不可能上的,线上稳定最重要
    shuhao
        39
    shuhao  
       2018-12-05 14:41:45 +08:00 via Android
    @zenghaojim33 RN 好像没有官方支持的 UI 库吧,我是冲着 flutter 的 material design 去的
    shuhao
        40
    shuhao  
       2018-12-05 14:46:29 +08:00 via Android
    @whypool 我觉得写布局嵌套是难免的,如果你嵌套太深的话就要考虑拆分组件了。
    Vue 的开发方式不是谁都喜欢的,Flutter 是借鉴了 React 的思想,我也比较喜欢 React 的 JSX 语法
    garnettt
        41
    garnettt  
       2018-12-05 15:05:46 +08:00
    还没看到好的热更新方案
    haaro
        42
    haaro  
       2018-12-05 15:12:38 +08:00
    @garnettt #41 好像 flutter 的设计初衷就不是热更新吧
    garnettt
        43
    garnettt  
       2018-12-05 15:30:56 +08:00
    @haaro 方向肯定不是,但同时有好的热更新机制的话,维护起来会很爽
    liuxey
        44
    liuxey  
       2018-12-05 15:33:36 +08:00
    迫切需要一个现代化的设计工具,这种嵌套深度是真的烧脑。
    solobat
        45
    solobat  
       2018-12-05 15:42:59 +08:00
    像 html 那样嵌套多简洁,flutter 这个嵌套看着好别扭
    ksssdh123
        46
    ksssdh123  
       2018-12-05 15:52:35 +08:00
    @koalli
    去了解在说吧 跟 RN 区别很大,渲染引擎谷歌自己重新写了一套
    所以导致引入这个架子后 包体积会相应增加不少,这个是硬伤
    RN 后面是 FaceBook android 和 ios 没一个是它的
    Flutter 后面好歹是谷歌,小道消息听说还是和苹果公司合作弄的,为的就是解决 android 的碎片化问题和跨平台开发

    但是,我也不太看好这玩意
    ios 最看重的热更新没有(肯定是苹果爸爸不同意)
    android 的碎片化问题现在原生写的是痛苦,但也能忍受,其实 UI 层的碎片化问题,很多 hybrid 方案都解决了,weex,rn,还有那个 cordova,但是在硬件的调取上就常常出现问题,所以真的能把硬件调取的碎片化问题解决了,那才是真正的解决碎片化问题,那就吸引开发者了(当初在弄 WebRtc 的时候,cordova 怎么都无法调取某些机型的摄像头,最后还是用原生去写才解决 痛苦啊)

    跨平台开发算是个小亮点,当初 RN 的 Write Once,Run Anywhere 还是非常吸引人(我也入坑了...),但是现在 RN 就这样,也不大火,也不彻底凉凉

    所以现在来看 Flutter 最大的亮点 应该还是跨平台开发及其超越其他 Hybrid 方案的性能,代替原生不大可能,但是某些业务线可以用来写一下,同时会打败其他 Hybrid 框架,以后 RN,weex 应该会成为历史吧
    yuuko
        47
    yuuko  
       2018-12-05 16:02:39 +08:00
    @ksssdh123 我记得 RN 是 Learn Once, Write Anywhere. (逃
    haaro
        48
    haaro  
       2018-12-05 16:17:48 +08:00
    Flutter 给我的最大好感是流畅度,之前写过一个小 demo,逻辑非常丑陋不合理,但 fps 依旧很优秀
    hyyou2010
        49
    hyyou2010  
       2018-12-05 16:27:57 +08:00
    Flutter 1.0 正式版: Google 的便携 UI 工具包: https://mp.weixin.qq.com/s/hCIN42OMmmc6HkOveegwWQ

    还意图拓展到 PC 端
    Kei
        50
    Kei  
       2018-12-05 17:15:39 +08:00
    @byuan04 但我看这个 iOS App 只有不到 1MB https://itunes.apple.com/app/apple-store/id954160751
    winglight2016
        51
    winglight2016  
       2018-12-05 20:57:54 +08:00
    @f2ck 超过 100m 就太夸张了吧,googleplay 都不支持 100m 的包,还要拆包
    Cyalpaca
        52
    Cyalpaca  
       2018-12-06 02:07:26 +08:00 via Android
    说起跨平台开发,Xamarin 的表现比起来如何呢?
    bigbyto
        53
    bigbyto  
       2018-12-06 09:06:39 +08:00 via iPhone
    心多大才会在生产环境用。
    koalli
        54
    koalli  
       2018-12-06 12:44:57 +08:00
    @ksssdh123
    我关注 Flutter 有大半年以上了,现在用 React Native 在做一个小项目。
    在我看来 Flutter 和 React Native 没有那么大的区别,都是非 Hybird 的方案,当年 React Native 也是打着性能的名号出来混的啊。你说的区别很大是指哪个方面?

    目前看来谷歌爸爸对这个项目寄予厚望而且研发积极,相比之下 React Native 就好像是后妈养的了。而且谷歌爸爸们是真的刚,官方维护了大量的 package,帮我们省掉了大量的原生研发的成本,谷歌的研发能力还有什么好怀疑的?从技术选型来说,下一个项目我是会考虑用的。

    我说的没什么区别更多的是说,从核心概念和框架来看,非 Hybird 的方案就必然躲不开跨平台开发,本质上是一样的,都是在对原生功能进行针对性的封装,这就是你说的硬件调取的碎片化问题(严格说起来不是谷歌的锅)。
    一旦出现需要在不同平台编码的场景,比如获取刘海屏高度,比如获取设备信息,可能开发者就需要自己维护不同平台的代码,就变成跟 React Native 一样的局面了。这个就是之前 Airbnb 放弃 React Native 的原因之一,当然 React Native 开源社区提供的库质量参差不齐也是很重要的原因,这应该也是谷歌爸爸维护大量 package 的原因吧。

    热更新最常见的场景其实就是换换界面显示的元素,这种情况 Flutter 是有解决方案的。
    如果需要热更二进制,那 iOS 确实是不支持的,而 Android 是支持热更二进制 so 文件的,java 部分的话直接下载 apk 安装换掉就是了,有时 play 版的应用就会提示你要下载官方的应用。

    我认为不允许热更新其实从某个角度上来说可以改善 Android 的生态环境,符合谷歌的利益。
    ksssdh123
        55
    ksssdh123  
       2018-12-06 20:56:12 +08:00
    @koalli Flutter 是谷歌重新设计了一套渲染引擎
    这跟 RN 用 Js 通 过 c++ 来调用 java 完全不在一个层次 去看看两个框架的原理 你就知道了
    对于我们应用开发来说,是没区别, 甚至 Flutter 开发起来,更往 大前端 靠拢 抛弃了很多原来在 android 原生开发的设定
    感觉以后 JS 才是主流 方向 0 0
    koalli
        56
    koalli  
       2018-12-06 22:21:01 +08:00
    @ksssdh123
    谷歌爸爸自己写的 Skia 渲染库,加上把 Dart 预编译成原生代码,看着就觉得比 React Native 强多了。
    感谢大佬指点,让我这种观望党更深入了解 Flutter。
    这下 React Native 真的是陷入了一个尴尬到死的局面,感觉未来 Flutter 应该会吸收非常多 React Native 的开发者。
    这玩意连我自己一个人做小项目玩都觉得蛋疼得要死,更别说真的投入生产环境了。
    你比如我想抱微软爸爸的大腿用 TypeScript,结果开源社区的库要么没有支持 TypeScript 需要自己来写类型定义文件,要么类型定义文件跟版本脱节不匹配各种报错。
    Flutter 也要支持 windows 等平台,感觉就是要正面刚 JavaScript 的节奏。
    ksssdh123
        57
    ksssdh123  
       2018-12-07 09:55:43 +08:00
    @koalli
    互相学习哈
    Flutter 的出现 RN weex 估计都要死翘翘,虽然前期估计很痛苦 但我相信 谷歌应该会像当初对待 android studio 那样对待 Flutter,
    不过也不排除谷歌弃坑 不维护了,那就尴尬了

    技术选型跟投资一样,选对了 吃香饽饽 ,不选对 就是增长点知识吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   906 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 21:49 · PVG 05:49 · LAX 13:49 · JFK 16:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.