• 请不要在回答技术问题时复制粘贴 AI 生成的内容
YugenFring
V2EX  ›  程序员

kotlin 可以完美平替 Java 吗?

  •  2
     
  •   YugenFring · Mar 20, 2024 · 23316 views
    This topic created in 809 days ago, the information mentioned may be changed or developed.

    如题, 说是可以完美兼容, 不知道有没有实际用过的大哥.

    另外, spring 那一套是否可以完全用 kotlin 开发, 如果有一些依赖只有 java 版本呢?

    求解, 感谢

    110 replies    2024-04-16 17:08:23 +08:00
    1  2  
    ashv2
        101
    ashv2  
       Mar 20, 2024
    @yukirus
    可以尝试 Jimmer ,https://babyfish-ct.gitee.io/jimmer-doc/docs/overview/introduction
    Kotlin/Java 双语开源框架 , 核心是一个强大通用的 orm ,附带了一套综合性服务解决方案 。除了作者编写的大量使用例子和高质量文档之外,还有社区贡献者的建模工具、微服务生态插件。按照文档推荐的教学案例进行开发能够有非常流畅的开发体验。
    beneo
        102
    beneo  
       Mar 21, 2024 via iPad
    先说一下背景,我和团队一直在服务端 ,Grails 从 2.0 开始用到现在,12 年用 Spark 的时候会写一些 Scala ,Kotlin 是从 20 年用到现在。后来公司技术栈开始缩减:

    1. Kotlin: 有 Java 生态,并且 Java 招人更便宜,门槛低
    2. Python:CV ,AI 没有 Python 不行
    3. Go:有些项目追求极致小内存、启动速度,虽然 err 超级恶心,但是公司一小部分人让他们用 Go
    4. Rust:还是 Go 那拨人,由于 Rust 还支持 WebAssembly ,能在浏览器里面运行,服务端和客户端都极致到底吧

    可以完全的用 Kotlin 而不用 Java 或者 Groovy ,团队合作,人员能力层次不齐,还是 Kotlin 比较好,代码节奏快,强类型,还能享受 Java 生态,毕竟不是所有人都喜欢 Groovy 上 static compile 的。Java ?有多少公司全员用 Java 17 ??
    beneo
        103
    beneo  
       Mar 21, 2024
    start.spring.io 你就可以选 kotlin ,Spring 支持肯定不错的。但是我特别讨厌 grade ,从版本 5 、6 、7 升级真的是噩梦
    alleluya
        104
    alleluya  
       Mar 21, 2024
    @kneo 让我我想起来十几年前前端有句 ajax 已死 fetch 永生的话....
    lanxiner
        105
    lanxiner  
       Mar 21, 2024
    @werls 高级语法糖吗
    qinxi
        106
    qinxi  
       Mar 21, 2024
    @Uplay #83 chengdu, 我入职前从来没用过 kotlin.
    xywanghb
        107
    xywanghb  
       Mar 21, 2024   ❤️ 1
    团队已引入 kotlin 混合使用,并要求逐步替换 java
    项目背景为业务 CRUD , 并且轻 sql ,重内存处理, 所以会有很多函数式编程和空安全处理
    人员背景基本是五到十年开发
    体验最直观的就是编译慢, 但是带来的编码体验能完全弥补这个不足, 编译慢我就摸下鱼等等, 但是写的慢那就是一直在写
    再一点就是个人追求开发速度快, 会做一些私活,kotlin 可开发后端和原生安卓, 熟悉 jetpack compose 可平滑转移 flutter ,web 和小程序就是用 vue uniapp
    lmshl
        108
    lmshl  
       Mar 21, 2024
    我现在的 Kotlin 技术栈:
    Ktor ( http4k 也挺好)
    Exposed + HikariCP
    Arrow
    kotlinx.serialization/coroutine/flow
    编译器启用 context receive 语法扩展,凑合当 effect 用
    JRE21 开 ZGenerational 和 VirtualThread
    写起来体验还是可以的

    之前也在知乎回答过此类问题
    https://www.zhihu.com/question/641140617/answer/3375582454
    luozic
        109
    luozic  
       Apr 16, 2024
    1.看业务,并且主要是不是 curd ,遗留代码多不多。
    2. 实际操作上更推荐,新的模块 新的项目里面试用一下 kotlin 之后再看看是不是合适你的团队, --- 或者先在单元测试,筛选数据等部分试用。
    3.毕竟现在的 kotlin 甚至 scala 用来搞 curd 比别的快,还能充分借助 openapi 工具箱+AI 等辅助完成大部分的 tdd unit ,但是整个知识迁移的投入还是看出钱的。
    luozic
        110
    luozic  
       Apr 16, 2024
    毕竟.net 7/8 上面性能又牛逼,用起来也爽的 linq 这种东西,Java 上面现在是半残废。
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   885 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 22:11 · PVG 06:11 · LAX 15:11 · JFK 18:11
    ♥ Do have faith in what you're doing.