Об этом проекте
Ktor — это асинхронный фреймворк для создания микросервисов, веб-приложений и многого другого, полностью написанный на Kotlin. Он делает акцент на минимальных усилиях и гибкости, позволяя разработчикам создавать связанные приложения без навязывания строгих технологических ограничений.
**Ключевые особенности:**
- **Без навязывания решений:** Ktor не диктует выбор для логирования, шаблонизации, обмена сообщениями, персистентности, сериализации или внедрения зависимостей. Функции устанавливаются через унифицированный механизм перехвата, позволяя создавать произвольные конвейеры.
- **Асинхронность:** Построенный на корутинах Kotlin, Ktor предоставляет простую в использовании модель асинхронного программирования. Все реализации хостов используют асинхронный ввод-вывод, чтобы избежать блокировки потоков.
- **Тестируемость:** Приложения могут работать в специальной тестовой среде, которая эмулирует веб-сервер без сетевого взаимодействия, упрощая тестирование. Также поддерживаются интеграционные тесты с реальными встроенными серверами.
- **Гибкость хостинга:** Поддерживается автономный хостинг с Netty или Jetty, а также сервлет-контейнеры с API Servlet 3.0+ (например, Tomcat). Дополнительные хосты можно добавить через унифицированный API хостинга.
- **Kotlin DSL:** API в основном представляют собой вызовы функций с лямбдами, что делает код декларативным и композируемым.
**Начало работы:**
Добавьте зависимость `io.ktor:ktor-server-netty` в ваш проект Gradle или Maven, затем создайте `Application` с маршрутизацией и функциями. Плагин Ktor Gradle упрощает конфигурацию, запуск и развёртывание. Базовый пример запускает встроенный сервер на порту 8080, отвечающий "Hello, world!".
**Документация и поддержка:**
Посетите [ktor.io](https://ktor.io) для быстрого старта и подробных руководств. Проблемы и запросы на новые функции отслеживаются в JetBrains YouTrack, поддержка сообщества — на StackOverflow и в канале Ktor в Kotlin Slack. Об уязвимостях безопасности следует сообщать через процесс ответственного раскрытия JetBrains.
**Статус проекта:**
Ktor — официальный продукт JetBrains, разрабатываемый преимущественно JetBrains при участии сообщества. Он вдохновлён устаревшими фреймворками Kotlin Wasabi и Kara. Проект лицензирован под Apache License 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.