调查: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能提供平滑