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

flutter or kotlin

  •  
  •   sdushn · 2019-03-08 10:22:30 +08:00 · 16921 次点击
    这是一个创建于 2121 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在学习一些新的技术,浅显看了下两种新技术,感觉 kotlin 是 java 的替代,flutter 似乎更有前景,想听听大佬们的意见
    76 条回复    2019-05-25 18:26:26 +08:00
    hongch
        1
    hongch  
       2019-03-08 10:28:23 +08:00
    kotlin [手动斜眼笑]
    murmur
        2
    murmur  
       2019-03-08 10:30:51 +08:00   ❤️ 4
    flutter 描绘的愿景不错,但是小公司赌不起,小公司一旦选型整个两端就赌这架构上了,你要考虑的是生态、稳定性、第三方组件以及后续维护能力

    敢一个 app 三天两头重构的,还大张旗鼓的宣传,也就闲鱼,然而呢,这个新框架给你们带来什么好处了,把 web 端搜索停掉就是为了强制 app 给你们当小白鼠的么

    其余的国内大公司 app 还都是 native 框架,其余的死差不多了把

    另外 flutter 的重点在 ui 渲染性能,然而 ui 渲染是我认为最不重要的一个,如果 ui 相关很重要,安卓早就死了,因为 ios 每一代都特别注重 ui 的渲染性能

    事实上呢?
    hlwjia
        3
    hlwjia  
       2019-03-08 10:32:06 +08:00
    看你是前端还是后端
    ftexplore
        4
    ftexplore  
       2019-03-08 10:33:35 +08:00
    可以先学习 kotlin,等 flutter 真正普及了再学不迟,
    tobepro
        5
    tobepro  
       2019-03-08 10:33:53 +08:00
    flutter 把
    你都说 kotlin 是 java 替代了,如果你熟悉 java 的话很容易就可以转到 kotlin 了。
    ukyoo
        6
    ukyoo  
       2019-03-08 10:36:49 +08:00
    上手 kotlin 简单点
    maichael
        7
    maichael  
       2019-03-08 10:43:20 +08:00
    我到是觉得有精力的话可以两个都学一段时间,然后挑一个自己喜欢的深入去学。

    学习容易,填坑难。
    shihty5
        8
    shihty5  
       2019-03-08 10:45:37 +08:00   ❤️ 1
    我们用 Kotlin 写纯服务器后端
    BCy66drFCvk1Ou87
        9
    BCy66drFCvk1Ou87  
       2019-03-08 10:49:14 +08:00
    学习 Flutter 有一段时间了,感觉会未来移动端开发的主流
    viator42
        10
    viator42  
       2019-03-08 10:49:25 +08:00
    还是 flutter 更有用一些,毕竟以后的趋势是混合开发,两端通吃
    qiyuey
        11
    qiyuey  
       2019-03-08 10:49:44 +08:00
    无论是 Kotlin 替代 Java 还是 Java 吸收了 Kotlin 的特性、语法,对你来说都是纯收入,稳赚不赔选 Kotlin
    kernel
        12
    kernel  
       2019-03-08 10:53:20 +08:00
    flutter 感觉是未来
    Fitz
        13
    Fitz  
       2019-03-08 10:55:18 +08:00
    但是 Dart 的嵌套真是头皮发麻
    lqzhgood
        14
    lqzhgood  
       2019-03-08 10:55:48 +08:00
    Kotlin 再不济也能去写 Java 呗。
    Java 至少不会死
    sdushn
        15
    sdushn  
    OP
       2019-03-08 11:05:39 +08:00
    @murmur 醍醐灌顶,感谢感谢
    ihainan
        16
    ihainan  
       2019-03-08 11:20:55 +08:00
    Flutter 这个性能 bug 等了小半年了还没修 = =

    https://github.com/flutter/flutter/issues/22314
    murmur
        17
    murmur  
       2019-03-08 11:21:16 +08:00
    @kernel 未来其实不重要 一个小公司 2 年可能公司都没了 还考虑未来干嘛
    很多人说什么以后有专门的 flutter 工程师 那意味着 flutter 的上手和易用性就是 0 分
    这样的框架我为啥不考虑 native
    真的危言耸听
    juntong
        18
    juntong  
       2019-03-08 11:23:06 +08:00
    Java Web
    SorcererXW
        19
    SorcererXW  
       2019-03-08 11:26:36 +08:00 via Android   ❤️ 1
    一个是语言,一个是框架,不能这么比
    如果你本身是 java 程序员,那么学习使用 kotlin,会提升编码效率。不管是是 Android 开发,还是后端开发都可以使用
    如果你需要一个跨平台的应用框架,那么 flutter 是一个非常有前景的框架,值得学习
    userdhf
        20
    userdhf  
       2019-03-08 11:32:49 +08:00   ❤️ 3
    dart 的嵌套早晚会被至少优化成链式调用或者异步函数,我说这话是参考了 js 的 promise 解决回调地狱的方式

    flutter
    1. 能不能如某司所意料的那样顺利大规模推广,会不会有变数
    2. 生态建立到生态健壮,android 有几次飞跃:2.3 - 4.1 - 4.4/5.0 - 6789,flutter 得用几年飞到 android 中间那次?
    3. 从历史的角度看想完成大一统霸主地位的想法和行为最终会酿成大祸....
    4. 其他

    各位 18 岁的小伙子,你们有限的职业生涯中,还能等到 flutter 给你带来收入的时候嘛?
    HongJay
        21
    HongJay  
       2019-03-08 11:34:33 +08:00
    可以七三分啊。。毕竟 kotlin 语法和 java 基本差不了多少。
    AngryMagikarp
        22
    AngryMagikarp  
       2019-03-08 11:35:38 +08:00
    flutter 现在用在中大型项目还早,虽然整体看上去不错,但欠缺的东西太多。
    deston
        23
    deston  
       2019-03-08 11:40:44 +08:00 via Android
    谷歌的新系统 fuchsia 怎么样,有没有替代 android 的可能
    hjw45611
        24
    hjw45611  
       2019-03-08 11:43:43 +08:00
    想想 React Native
    glaucus
        25
    glaucus  
       2019-03-08 11:45:34 +08:00 via iPhone
    已经用 Kotlin 完全替代 Java 很久了.....
    siloong
        26
    siloong  
       2019-03-08 11:47:29 +08:00   ❤️ 1
    主学 kotlin,多了解 flutter
    首先 kotlin 不是 java 替代,跟 scala,grovvy 一样,只是与 java 生态融合的更好
    其次 k 现代语法,前后端都可用,适用范围广
    最后 f 最近势头很猛作为从业相关人员肯定要了解,适当上手玩玩
    sdushn
        27
    sdushn  
    OP
       2019-03-08 11:48:54 +08:00
    @SorcererXW 明白了,目前不考虑跨平台开发,还是学习下 kotlin
    sdushn
        28
    sdushn  
    OP
       2019-03-08 11:52:02 +08:00
    @userdhf 有理有理,最开始被 flutter 的跨平台吸引了,目前想来确实是很危险的事情,目前看来还是当做兴趣爱好来做吧
    sdushn
        29
    sdushn  
    OP
       2019-03-08 11:54:07 +08:00
    @glaucus 体验如何,最近刚开始看,没有尝试进行替换,而且公司目前的想法是先抽出时间大家学习,再讨论是否引入 kotlin 进行开发
    sdushn
        30
    sdushn  
    OP
       2019-03-08 11:54:51 +08:00
    @siloong 感谢建议,听了大家的想法,感觉按这条路子走还是比较稳妥的
    reactna1ve
        31
    reactna1ve  
       2019-03-08 12:00:33 +08:00
    kotlin

    flutter 目前来看解决的问题太有限了,且所谓两端统一的成本 比 两端分开开发的成本还要高得多,现在除了大公司内部为了 KPI 试水或者小公司 leader 一言堂,其余项目基本没有可以发挥的地方
    EscYezi
        32
    EscYezi  
       2019-03-08 12:01:17 +08:00 via iPhone
    kotlin 前景也是很不错啊,现在异步编程在兴起,但是我觉得协程才是未来
    scaret
        33
    scaret  
       2019-03-08 12:05:06 +08:00
    > 另外 flutter 的重点在 ui 渲染性能,然而 ui 渲染是我认为最不重要的一个,如果 ui 相关很重要,安卓早就死了,因为 ios 每一代都特别注重 ui 的渲染性能

    买安卓不是因为穷吗。。
    reactna1ve
        34
    reactna1ve  
       2019-03-08 12:06:38 +08:00
    kotlin 你还可以用来写框架写后端,学 flutter 是要做资深移动端切图仔么(斜眼笑 我们组现在用 Java 的都一大把,市场对 flutter 也只是有兴趣,短期内全职开发根本找不到
    hilbertz
        35
    hilbertz  
       2019-03-08 12:32:10 +08:00   ❤️ 1
    然后结果还是 flutter 里嵌 webview
    youxiachai
        36
    youxiachai  
       2019-03-08 12:41:21 +08:00
    kotlin 还有 java 的退路......
    orangeade
        37
    orangeade  
       2019-03-08 12:45:05 +08:00
    @scaret #33 你以为而已
    skull
        38
    skull  
       2019-03-08 12:54:00 +08:00 via iPhone
    最近也是空下来想学点东西,刚刚好也是在这两个之间做选择,最后选择了学 kotlin,原因和上边的大佬一样
    joouis
        39
    joouis  
       2019-03-08 13:00:16 +08:00 via Android
    @hilbertz 真干过这种事 233333
    pursuer
        40
    pursuer  
       2019-03-08 13:00:57 +08:00
    我感觉对 java 熟悉的话 kotlin 两三天就能上手。
    murmur
        41
    murmur  
       2019-03-08 13:04:10 +08:00
    @scaret 在穷面前体验都得放下啊 说明用户还是优先关注功能
    ayayui
        42
    ayayui  
       2019-03-08 13:05:11 +08:00
    Kotlin 两个都试过觉得 Dart 还是太弱
    youngxhui
        43
    youngxhui  
       2019-03-08 13:15:59 +08:00 via Android
    kotlin 一出生便有了拥有了 JAVA 生态圈,而且还在不断的发展自己的生态,比如 ktor,react kotlin 等,并且 kotlin native 和 c 语言也在做兼容,这些都是 flutter 或者是 dart 没有的
    superbai
        44
    superbai  
       2019-03-08 13:18:13 +08:00
    @shihty5 感觉怎么样?
    glaucus
        45
    glaucus  
       2019-03-08 13:20:08 +08:00
    @sdushn #29 1.请做好踩坑准备,2.请做好随时都有想删代码全部换回 Java 的准备(主要是在和一些 Java 框架搭配使用的时候)
    closedevice
        46
    closedevice  
       2019-03-08 13:24:44 +08:00
    小公司优先选择 kt,不要赌 flutter,暂时有些坑,遇到了可能不好解决
    kwanzaa
        47
    kwanzaa  
       2019-03-08 13:29:05 +08:00
    选 flutter 你还要学 iOS。否则有什么意义呢?
    hoyixi
        48
    hoyixi  
       2019-03-08 13:41:42 +08:00   ❤️ 12
    感觉程序员真会给自己挖坑,埋自己

    最开始,Androider 写 Android app,iOSer 写 iOS app,
    然后开始有两个都要会写的趋势,
    然后连 H5 也要写了,
    再然后要写 hybrid app,
    写着写着一抬头,发现公司开始嚷嚷 Big 前端了,到底多逼格?你丫连 Web 前端一起做了吧。
    不断学习,不断加班,头发都秃了,正享受 Big 前端的逼格呢,公司又来了:全栈,你丫连服务端 API 也一勺烩了吧。


    资方成本控制越来越爽,养一个秃瓢 coder,全栈了。你也挺开心,多年历练,30 多岁,全栈,手握 18 样兵器,好像是个人物了。

    突然间噩耗传来:被人员优化了~ 都全栈了,还要那么多人干嘛,走吧您嘞~
    userdhf
        49
    userdhf  
       2019-03-08 13:59:12 +08:00
    @hoyixi 说的太好了,技术是无止境的,资本是带血的,为了追求技术而成为资本的一滴血那是最不值得的
    passerbytiny
        50
    passerbytiny  
       2019-03-08 14:01:07 +08:00
    @hoyixi #41 理是这个理,但有一个矛盾的地方,没有 H5、hybrid app 这些趋势,也就没有那么多资方。
    0x8192dd
        51
    0x8192dd  
       2019-03-08 14:01:40 +08:00
    两个都学不行么,说白了不就是换着语言画界面而已,java 画 /kotlin 画 /dart 画有什么天大的区别么,无论什么跨平台方案都只能做表层的东西,需要深层自定义的东西,native 该学的一个跑不了。
    如果说换着语言写界面对于你来说学习成本还很高还要抉择一下的话,我建议你还是先老老实实用 Java 把原生学熟练一点
    JRay
        52
    JRay  
       2019-03-08 14:03:14 +08:00
    flutter 个人学着撸个 APP 先玩着
    hoyixi
        53
    hoyixi  
       2019-03-08 14:05:36 +08:00
    @passerbytiny
    非也,业务需求在那里,岗位需求仍然会那么多
    morethansean
        54
    morethansean  
       2019-03-08 14:12:22 +08:00 via iPhone
    两个都学不影响啊。
    楼上某人的发言你也不要觉得什么醍醐灌顶了。国内大厂也并不是都是 native 架构,至少 native 的占比在逐渐减弱,native 的业务占比也在减弱,不知道他哪来的信息。
    UI 流畅性不重要? UI 流畅性一直都非常重要。按照他的逻辑,我还能说不然 hybrid 一把火燃到今天,webview 早就统一天下了。视野太小看的东西就不全面,基础扎实的猿猿运气不会太差。你看你去面有些国外的公司,jd 里连技术栈都没有了,title 就一个软件工程师,上来就问你数据结构。
    0x8192dd
        55
    0x8192dd  
       2019-03-08 14:12:22 +08:00
    @passerbytiny 国内对于跨平台、热更新之类加快版本迭代速度方案的迷之追求,很大一部分来源于项目管理太辣鸡,正常的原生版本迭代速度赶不上 SB 领导和产品拍脑门的速度,以及在这种拍脑门速度下造成的擦屁股频率提升
    loshine1992
        56
    loshine1992  
       2019-03-08 14:13:23 +08:00
    小孩子才做选择,大人表示我全都要。
    murmur
        57
    murmur  
       2019-03-08 14:15:31 +08:00
    @hoyixi 业务已经被洗的差不多了,越是底层的需求越危险,有的需求别人的大厂 app 可能就值一个字段,你为了做 app 就得包社区、商城、新闻、下载这些垃圾功能来冲门面
    murmur
        58
    murmur  
       2019-03-08 14:21:58 +08:00
    @morethansean UI 流畅性当然不重要,AT 各自的大头应用自我瘦身 30%,把那些垃圾功能砍掉,包你整个 APP 起飞
    你看现在支付宝和 QQ 里绑了多少没用的东西
    别说 native 了
    汇编都救不了
    kooze
        59
    kooze  
       2019-03-08 14:38:37 +08:00
    all
    jinbangzhu
        60
    jinbangzhu  
       2019-03-08 14:39:27 +08:00
    两个都要
    shihty5
        61
    shihty5  
       2019-03-08 14:40:07 +08:00
    @superbai 有曲线但是上手之后特别爽,团队风格统一了代码更短了但战斗力也更强了
    sdushn
        62
    sdushn  
    OP
       2019-03-08 14:49:50 +08:00
    @hoyixi 优秀
    sdushn
        63
    sdushn  
    OP
       2019-03-08 14:50:02 +08:00
    @loshine1992 我更想要头发
    djyde
        64
    djyde  
       2019-03-08 15:40:19 +08:00
    @murmur #2 我很同意你的观点。做技术的,就算把很多东西玩出花,也没有做好产品体验本身对用户有价值。

    但是,技术人员对产品体验的话语权太低了(甚至根本没有)。就算你是闲鱼的开发 leader, 你认为强制关闭 pc 端搜索是个傻屄决策,但是 PM 听你的吗?决定权还是在 PM 手上。

    你提到了很多体验优化上的点,我作为用户当然也很同意。但是,这是开发人员不去折腾技术方案就能解决的问题吗?

    我看未必。
    passerbytiny
        65
    passerbytiny  
       2019-03-08 16:16:38 +08:00
    @hoyixi #46 那你以为业务需求是谁提出来的,是用户,是销售,是产品吗?那他们又为什么要提那样的需求?
    hoyixi
        66
    hoyixi  
       2019-03-08 16:21:23 +08:00
    @passerbytiny

    不用扯那么远,就说简单的:PC、手机 App、手机 Web, 三端入口,你是不是全栈,都存在,并不会因为你不会 H5 没有 hybrid app 技术就少一个。 区别就是这些活是养三个人干,还是让你一个人干。
    huiyifyj
        67
    huiyifyj  
       2019-03-08 16:24:13 +08:00 via Android
    #2 楼讲的顺序不对吧。是先封的 web 端搜索再之后开始的 flutter。
    dodo2012
        68
    dodo2012  
       2019-03-08 16:32:41 +08:00
    flutter 最受不了的是无限嵌套,看的头疼
    passerbytiny
        69
    passerbytiny  
       2019-03-08 17:10:34 +08:00
    @hoyixi #57 建议你去搜索一下“哪些产品只有 APP 没有 Web 端”。你不会 H5,不会 PC,老板就会另外招两个人去做做 Web 端和 PC 端,你还真敢把老板当傻子。
    smile561607154
        70
    smile561607154  
       2019-03-08 17:44:26 +08:00
    flutter 和 kotlin 没有可比性,都得学
    lixonxp
        71
    lixonxp  
       2019-03-08 17:50:57 +08:00
    just java, no flutter, no kotlin
    hoyixi
        72
    hoyixi  
       2019-03-08 18:24:25 +08:00
    @passerbytiny #69
    所以要嚷嚷全栈啊,你这不是在证明我的那段话吗,你到底在和我争个什么劲
    LimeVista
        73
    LimeVista  
       2019-03-08 20:07:55 +08:00 via Android
    这个框架,真的是灭了 Android PowerVR GPU 全家,一秒帧的快感
    xinxuyue
        74
    xinxuyue  
       2019-03-09 00:18:46 +08:00
    kotlin 前端开发还是不够普及暂时替代不了 JAVA
    g0thic
        75
    g0thic  
       2019-03-09 09:53:44 +08:00
    flutter 反正我看了几天实在不想写 除非支持 React JSX 那种写法
    fromzero
        76
    fromzero  
       2019-05-25 18:26:26 +08:00 via Android
    flutter 展示 ui,核心组件还是 native
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5221 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:33 · PVG 17:33 · LAX 01:33 · JFK 04:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.