Kotlin для серверной стороны
Kotlin отлично подходит для разработки серверных приложений. Он позволяет писать лаконичный и выразительный код, сохраняя полную совместимость с существующими стеками технологий на Java, с плавным кривой обучения:
Выразительность: инновационные возможности языка Kotlin, такие как поддержка безопасных по типу билдеров и делегированных свойств, помогают создавать мощные и простые в использовании абстракции.
Масштабируемость: Поддержка Kotlin корутин помогает создавать серверные приложения, масштабируемые до огромного числа клиентов с умеренными требованиями к аппаратным ресурсам.
Взаимодействие: Kotlin полностью совместим со всеми Java-фреймворками, поэтому вы можете использовать знакомый стек технологий, получая преимущества более современного языка.
Миграция: Kotlin поддерживает постепенную миграцию крупных кодовых баз из Java в Kotlin. Вы можете начать писать новый код на Kotlin, сохраняя старые части системы на Java.
Инструменты: В дополнение к отличной поддержке IDE в целом, Kotlin предлагает инструменты, специфичные для фреймворков (например, для Spring) в плагине для IntelliJ IDEA Ultimate.
Кривая обучения: Для разработчика Java начать работу с Kotlin очень просто. Автоматический конвертер Java в Kotlin, включенный в плагин Kotlin, помогает с первыми шагами. Kotlin Koans могут провести вас через ключевые возможности языка с помощью серии интерактивных упражнений.
Фреймворки для разработки серверных приложений на Kotlin
Вот несколько примеров серверных фреймворков для Kotlin:
Spring использует возможности языка Kotlin, чтобы предложить более лаконичные API, начиная с версии 5.0. Онлайн-генератор проектов позволяет быстро сгенерировать новый проект на Kotlin.
Ktor — фреймворк, разработанный JetBrains для создания веб-приложений на Kotlin, использующий корутины для высокой масштабируемости и предлагающий простой в использовании идиоматичный API.
Quarkus обеспечивает первоклассную поддержку Kotlin. Фреймворк с открытым исходным кодом, поддерживается Red Hat. Quarkus разработан с нуля для Kubernetes и предоставляет целостный полнофункциональный фреймворк, используя растущий список сотен лучших библиотек.
Vert.x, фреймворк для разработки реактивных веб-приложений на JVM, предлагает специализированную поддержку Kotlin, включая полную документацию.
kotlinx.html — DSL, который можно использовать для построения HTML в веб-приложениях. Он служит альтернативой традиционным системам шаблонов, таким как JSP и FreeMarker.
Micronaut — современный JVM-фреймворк для создания модульных, легко тестируемых микросервисов и серверных приложений без сервера. Он поставляется со множеством полезных встроенных функций.
http4k — функциональный инструмент с компактным размером для Kotlin HTTP-приложений, написанный на чистом Kotlin. Библиотека основана на статье «Ваш сервер как функция» от Twitter и представляет моделирование как HTTP-серверов, так и клиентов как простых функций Kotlin, которые можно объединять вместе.
Javalin — очень легкий веб-фреймворк для Kotlin и Java, поддерживающий WebSockets, HTTP2 и асинхронные запросы.
Доступные варианты для сохранения данных включают прямой доступ к JDBC, JPA и использование NoSQL-баз данных через их Java-драйверы. Для JPA плагин компилятора kotlin-jpa адаптирует скомпилированные Kotlin-классы к требованиям фреймворка.
Развертывание серверных приложений на Kotlin
Приложения на Kotlin можно развернуть на любом хосте, поддерживающем Java-веб-приложения, включая Amazon Web Services, Google Cloud Platform и другие.
Чтобы развернуть приложения на Kotlin на Heroku, вы можете следовать официальному руководству Heroku.
AWS Labs предоставляет образцовый проект, демонстрирующий использование Kotlin для написания функций AWS Lambda.
Google Cloud Platform предоставляет ряд обучающих материалов для развертывания приложений на Kotlin в GCP, как для Ktor и App Engine, так и для Spring и App Engine. Кроме того, есть интерактивное обучающее пособие по развертыванию приложения Spring на Kotlin.
Продукты, использующие Kotlin на серверной стороне
Corda — это открытая платформа распределенного реестра, поддерживаемая ведущими банками и полностью написанная на Kotlin.
JetBrains Account, система, отвечающая за весь процесс продажи и проверки лицензий в JetBrains, написана на 100% Kotlin и работает в производстве с 2015 года без серьезных проблем.
Следующие шаги
Для более глубокого знакомства с языком, ознакомьтесь с документацией Kotlin на этом сайте и Kotlin Koans.
Посмотрите вебинар "Micronaut для микросервисов с Kotlin" и изучите подробное руководство, показывающее, как использовать расширяющие функции Kotlin во фреймворке Micronaut.
http4k предоставляет CLI для генерации полностью сформированных проектов и запуска для генерации всей цепочки CI/CD с помощью GitHub, Travis и Heroku одной командой bash.
Хотите мигрировать из Java в Kotlin? Узнайте, как выполнять типичные задачи со строками в Java и Kotlin.
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/server-overview.html