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.