~/VibeHandbook
$39

应用 / 移动端

kotlinlang.org

Kotlin

是什么

Kotlin 是 JetBrains 推出的一门现代静态类型语言,运行在 Java 虚拟机上,并能与 Java 完全互操作。Google 将其确立为 Android 开发的首选语言,它同时也用于服务端代码、多平台共享逻辑,甚至可以编译为原生代码或 JavaScript。它的目标是简洁、安全、务实——去掉了繁文缛节的 Java。

优势

  • 空安全内置于类型系统中,消除了绝大多数 NullPointerException 崩溃。
  • 简洁:数据类、扩展函数和智能转换大幅减少样板代码。
  • 与 Java 无缝互操作——可使用任何 Java 库,逐个文件迁移。
  • 一流的协程支持,让异步与并发代码更易读。
  • Kotlin Multiplatform 可在 Android、iOS 和后端之间共享业务逻辑。

取舍

  • 在大型项目中,编译速度可能比 Java 慢。
  • 基于 JVM 意味着需要运行时,相比原生语言会有一定的启动开销。
  • 多平台和 Kotlin/Native 正在成熟,但相比 JVM 目标还不够久经考验。
  • 一些高级特性(协程、DSL)有一定的学习曲线。

何时使用

任何新的 Android 应用都可以选择 Kotlin;对于希望写出比 Java 更安全、更简洁代码的 JVM 后端服务,也值得考虑。只要 JVM 生态契合,它就是一个出色的默认选择。

与 vibe coding 的契合度

Kotlin 与 AI 助手配合得很好,因为其简洁的惯用法意味着需要生成和审查的代码更少,而空安全则能在编译期暴露错误。可以让模型优先使用不可变的 val 而非 var,使用数据类来定义模型,并用协程编写挂起函数而非手动处理线程。在面向 Android 时,让它将 Kotlin 与 Jetpack Compose 搭配使用,使 UI 与逻辑共享同一门现代语言。

data class User(val name: String, val active: Boolean = true)

fun activeNames(users: List<User>): List<String> =
    users.filter { it.active }.map { it.name }

fun main() {
    val users = listOf(User("Ada"), User("Lin", active = false))
    println(activeNames(users))
}