V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
YugenFring
V2EX  ›  程序员

kotlin 可以完美平替 Java 吗?

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

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

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

    求解, 感谢

    110 条回复    2024-04-16 17:08:23 +08:00
    1  2  
    ashv2
        101
    ashv2  
       277 天前
    @yukirus
    可以尝试 Jimmer ,https://babyfish-ct.gitee.io/jimmer-doc/docs/overview/introduction
    Kotlin/Java 双语开源框架 , 核心是一个强大通用的 orm ,附带了一套综合性服务解决方案 。除了作者编写的大量使用例子和高质量文档之外,还有社区贡献者的建模工具、微服务生态插件。按照文档推荐的教学案例进行开发能够有非常流畅的开发体验。
    beneo
        102
    beneo  
       276 天前 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  
       276 天前
    start.spring.io 你就可以选 kotlin ,Spring 支持肯定不错的。但是我特别讨厌 grade ,从版本 5 、6 、7 升级真的是噩梦
    alleluya
        104
    alleluya  
       276 天前
    @kneo 让我我想起来十几年前前端有句 ajax 已死 fetch 永生的话....
    lanxiner
        105
    lanxiner  
       276 天前
    @werls 高级语法糖吗
    qinxi
        106
    qinxi  
       276 天前
    @Uplay #83 chengdu, 我入职前从来没用过 kotlin.
    xywanghb
        107
    xywanghb  
       276 天前   ❤️ 1
    团队已引入 kotlin 混合使用,并要求逐步替换 java
    项目背景为业务 CRUD , 并且轻 sql ,重内存处理, 所以会有很多函数式编程和空安全处理
    人员背景基本是五到十年开发
    体验最直观的就是编译慢, 但是带来的编码体验能完全弥补这个不足, 编译慢我就摸下鱼等等, 但是写的慢那就是一直在写
    再一点就是个人追求开发速度快, 会做一些私活,kotlin 可开发后端和原生安卓, 熟悉 jetpack compose 可平滑转移 flutter ,web 和小程序就是用 vue uniapp
    lmshl
        108
    lmshl  
       276 天前
    我现在的 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  
       250 天前
    1.看业务,并且主要是不是 curd ,遗留代码多不多。
    2. 实际操作上更推荐,新的模块 新的项目里面试用一下 kotlin 之后再看看是不是合适你的团队, --- 或者先在单元测试,筛选数据等部分试用。
    3.毕竟现在的 kotlin 甚至 scala 用来搞 curd 比别的快,还能充分借助 openapi 工具箱+AI 等辅助完成大部分的 tdd unit ,但是整个知识迁移的投入还是看出钱的。
    luozic
        110
    luozic  
       250 天前
    毕竟.net 7/8 上面性能又牛逼,用起来也爽的 linq 这种东西,Java 上面现在是半残废。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:13 · PVG 02:13 · LAX 10:13 · JFK 13:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.