调查:2024年生产环境中Kotlin框架的选择

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

调查:2024年生产环境中Kotlin框架的选择



Kotlin生态系统持续活跃发展,为生产项目选择框架的问题仍然是最热门的话题之一。最近,JetBrains团队和生产环境中的Kotlin社区对1200多名从事服务器端Kotlin开发的开发者进行了一项大规模调查。结果非常具有代表性,并证实了本文将要分析的几个趋势。



调查方法

参与调查的开发者来自47个国家,就职于不同规模的公司——从初创公司到大型企业(如Google、Amazon和Spotify)。受访者需要指出他们在实际生产项目中使用了哪些框架(不包括个人项目和原型)。



生产环境中Kotlin框架前三名

  • Ktor(42%的受访者)——JetBrains的官方框架,基于协程构建。其受欢迎的原因在于轻量、异步和极简的API。Ktor被选用于微服务、REST API和入门门槛较低的项目。有趣的是,使用Ktor的开发者中有68%同时将其与Exposed(Kotlin的ORM)结合使用。
  • Spring Boot(37%的受访者)——经典的重型框架,在企业级领域仍然受欢迎。当需要丰富的生态系统(Spring Data、Spring Security、与Java项目集成)时,开发者会选择Spring Boot for Kotlin。不过,开发者指出,Kotlin版本需要配置kotlin-allopen才能正确使用代理。
  • http4k(11%的受访者)——受Scala和Haskell启发的函数式框架。重视组合、可测试性和不可变性的团队会选择它。http4k常用于对安全性要求较高的系统(金融科技、医疗保健)。


意外结论与新趋势

除了前三名之外,调查还揭示了一些重要趋势:

  • Ktor的流行度上升:过去两年中,Ktor的份额增长了14%,而Spring Boot则失去了5%的用户。开发者认为这是因为Ktor更适合云原生应用(二进制文件更小,启动更快)。
  • 放弃“默认”框架:7%的受访者表示他们使用纯协程 + Kodein或基于Ktor Client的自定义解决方案。这常见于对延迟有严格要求的项目。
  • 生产环境中的Kotlin Multiplatform(KMP):4%的受访者已经在使用Ktor Client与KMP结合,在服务器和移动客户端之间共享代码。这一趋势预计在2025年将有所增长。


这对开发者意味着什么?

如果你刚开始学习Kotlin进行后端开发,没有绝对的建议。但根据调查:

  • 对于初创公司和微服务——选择Ktor:它更简单、更快,文档也更完善。
  • 对于从Java迁移的企业项目——Spring Boot能提供平滑

推荐库