Kotlin

Современный язык программирования от JetBrains: основной язык Android-разработки, также применяется на серверах и для общего кода iOS и Android.

Kotlin — язык программирования, созданный компанией JetBrains; название он получил в честь острова Котлин в Финском заливе. Версия 1.0 вышла в 2016 году, в 2017-м Google объявила Kotlin официальным языком для Android, а с 2019 года рекомендует его как основной. Kotlin работает на платформе Java и полностью совместим с ней: в одном проекте можно использовать оба языка и все библиотеки Java.

Пример

// Kotlin
data class Order(val number: Int, val amount: Long, val comment: String?)

fun describe(order: Order): String {
    val note = order.comment ?: "без комментария"
    return "Заказ ${order.number} на ${order.amount} ₽, $note"
}

Одна строка data class заменяет десятки строк Java: поля, конструктор, сравнение и вывод объекта создаются автоматически. Знак ? отмечает поле, которое может быть пустым, а оператор ?: подставляет значение по умолчанию. Обратиться к пустому значению без проверки компилятор не даст.

Чем Kotlin удобен

  • Защита от пустых значений на уровне типов — меньше падений приложений; подробнее о подходе — в термине «Статическая типизация».
  • Короткий и выразительный код — меньше шаблонного кода, чем в Java.
  • Корутины — асинхронный код, который читается как обычный последовательный: запрос к серверу не блокирует интерфейс.
  • Совместимость с Java — можно переводить проект постепенно, файл за файлом.
  • Поддержка и объектного, и функционального стиля.

Где используется

  • Android. Основной язык платформы; интерфейсы строят на декларативном Jetpack Compose.
  • Серверная разработка. Kotlin работает со Spring и другими Java-фреймворками, а также с собственным фреймворком Ktor. Его выбирают для новых сервисов вместо Java в банках и крупных компаниях.
  • Kotlin Multiplatform. Общая логика — работа с сетью, данными, правила — пишется один раз для Android и iOS, а интерфейс остается нативным. Технология стала стабильной в 2023 году.

Kotlin и Java

Kotlin не заменяет Java, а работает рядом с ней: те же серверы, библиотеки и инструменты. Переход обычно постепенный — новые модули пишут на Kotlin, старые переписывают по мере изменений. Для iOS аналогичное место занимает Swift, а для кроссплатформенных приложений с одним кодом интерфейса выбирают Flutter или React Native.