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

看新闻 OkHttp 都用 Kotlin 重写了,现在 Kotlin 在服务器端发展的怎么样?

  •  
  •   LosLord · 2019-06-26 16:24:22 +08:00 · 12196 次点击
    这是一个创建于 1981 天前的主题,其中的信息可能已经有所发展或是发生改变。

    早先尝试过用 Kotlin 写 Spring 项目,但是我属于“没 IDE 不会写”星人,好多没提示或者不知道怎么写就没继续写。

    当时试了 Kotlin 发现很多语法糖挺好用的,相比 Java8 更加简洁和看着更加优雅,但是想到很多便利性的语法糖还是编译成 Class 在 JVM 上用的,背后做了大量的隐式工作,看网评说性能有损耗,就没有继续用。

    不过现在看样子一个个库都开始支持 Kotlin 或者直接用 Kotlin 做主语言了,现在的 Kotlin 体验怎么样了?

    写 Spring 项目大量的写 Kotlin 兼容性怎么样?
    像 OkHttp 这种项目,非 Kotlin 项目依赖的话,是不是打包也得包括 Kotlin 库?
    Kotlin 目前性能怎么样?

    24 条回复    2020-07-10 11:33:09 +08:00
    maninfog
        1
    maninfog  
       2019-06-26 16:27:50 +08:00 via iPhone
    编译成 class 文件只是编译慢些,怎么会性能损耗呢,又不是运行时编译
    LosLord
        2
    LosLord  
    OP
       2019-06-26 16:36:38 +08:00
    @maninfog 肯定有不一样的地方啊,比如 kotlin 的 foreach{},编译再反编译成 Java 会发现代码多出来一些不知道干什么用的。
    lastpass
        3
    lastpass  
       2019-06-26 16:36:55 +08:00 via Android
    现在正在服务器端使用 scala,写起来不错。
    zt1991616
        4
    zt1991616  
       2019-06-26 17:17:16 +08:00
    @LosLord 编译再反编不多东西才有鬼,要比也是 class
    kx5d62Jn1J9MjoXP
        5
    kx5d62Jn1J9MjoXP  
       2019-06-26 17:23:49 +08:00
    没听说有什么发展,okhttp 是 square 家的,等于还是 android 系的
    pynix
        6
    pynix  
       2019-06-26 18:03:53 +08:00
    和 swift 一样。。。。
    luozic
        7
    luozic  
       2019-06-26 18:45:24 +08:00 via iPhone
    Vegetable
        8
    Vegetable  
       2019-06-26 19:39:07 +08:00
    这两个语言之间选择,性能真的需要考虑吗?
    sty
        9
    sty  
       2019-06-26 20:51:16 +08:00 via Android
    backend 用了就回不去了
    chendy
        10
    chendy  
       2019-06-26 21:06:53 +08:00
    楼上用 scala 的真是个狠人…
    写了一段时间 kotlin 回头写 java,最大的问题竟然是习惯了不打分号…
    bccoder
        11
    bccoder  
       2019-06-26 21:08:33 +08:00 via iPhone
    android 项目 kotlin 和 java 混用,还是 kotlin 爽
    ufo22940268
        12
    ufo22940268  
       2019-06-26 21:13:52 +08:00
    写习惯 scala 之后就不想碰 java 了
    youngxhui838
        13
    youngxhui838  
       2019-06-26 23:00:51 +08:00 via Android
    spring boot + kotlin 挺好的,写了一年
    yejianmail
        14
    yejianmail  
       2019-06-26 23:08:30 +08:00 via Android
    springboot 和 kotlin 完美组合
    cpdyj0
        15
    cpdyj0  
       2019-06-26 23:11:39 +08:00
    Kotlin 赛高!
    twoyuan
        16
    twoyuan  
       2019-06-26 23:14:11 +08:00 via Android
    @cpdyj0 hello,你也逛 v 站
    cpdyj0
        17
    cpdyj0  
       2019-06-26 23:19:14 +08:00
    @twoyuan 😂真巧😂
    ddxx200
        18
    ddxx200  
       2019-06-26 23:27:23 +08:00
    目前后端全线 kotlin,爽歪歪
    micean
        19
    micean  
       2019-06-26 23:33:19 +08:00
    写了一段时间 kotlin 又回 java 了
    1. 在 idea 打开 kt 的 class 看不到完整的反编译信息,debug 查原因的时候极度不方便
    2. 泛型更难用了
    3. 一般对于 null 都有特别处理,然而我还得补上个蛋疼的?号
    4. 没有我最爱用的三元表达式,始终还是不习惯
    billlee
        20
    billlee  
       2019-06-26 23:44:11 +08:00
    后端还是 scala 好用
    LosLord
        21
    LosLord  
    OP
       2019-06-27 09:56:00 +08:00   ❤️ 1
    @micean null 处理还好,能很大程度避免 null 异常。三元表达式再 Kotlin 换的话我记得是用 var i = if (a==1) 1 else 2 这种形式写,差不多吧
    dragonsunmoon
        22
    dragonsunmoon  
       2020-04-06 01:29:02 +08:00
    安利一下基于 kotlin 语言,我个人开发的后端快速开发框架, http://loveinshenzhen.github.io/#/sz_framework/introduction

    我负责的多个项目, 都是使用这套框架进行后端开发的. 开发效率比 spring mvc 那套要快得多. 和 Play Framework 的类似. 不过 Play Framework 的语言是以 scala 为主, 而这套是以 kotlin 为开发语言的.
    realkenshinji
        23
    realkenshinji  
       2020-06-12 07:30:47 +08:00 via iPhone
    @billlee scala 搭配 play ?
    ggght
        24
    ggght  
       2020-07-10 11:33:09 +08:00
    kt 的服务端框架的话,不是官方的 Ktor 么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1030 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:37 · PVG 04:37 · LAX 12:37 · JFK 15:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.