Kotlin/JavaScript
Kotlin/JavaScript (Kotlin/JS) позволяет транспилировать ваш код Kotlin, стандартную библиотеку Kotlin и любые совместимые зависимости в JavaScript. Благодаря этому приложения Kotlin могут работать в любой среде, поддерживающей JavaScript.
Используйте Kotlin/JS с помощью плагина Kotlin Multiplatform Gradle (kotlin.multiplatform), чтобы настраивать проекты Kotlin для JavaScript и управлять ими из единого места.
Плагин Kotlin Multiplatform Gradle предоставляет доступ к таким возможностям, как управление сборкой приложения и добавление зависимостей JavaScript напрямую из npm. Обзор доступных параметров конфигурации см. в разделе Настройка проекта Kotlin/JS.
Варианты использования Kotlin/JS
Вот несколько распространённых способов использования Kotlin/JS:
-
Совместное использование общей логики во frontend и JVM-бэкенде
Если ваш бэкенд написан на Kotlin или другом языке, совместимом с JVM, вы можете использовать общий код в веб-приложении и бэкенде. К нему относятся объекты передачи данных (DTO), правила проверки и аутентификации, абстракции для конечных точек REST API и многое другое.
-
Совместное использование общей логики в клиентах Android, iOS и веб-приложениях
Вы можете использовать общую бизнес-логику в веб-интерфейсе и мобильных приложениях для Android и iOS, сохраняя при этом нативные пользовательские интерфейсы. Это позволяет избежать дублирования общей функциональности, такой как абстракции REST API, аутентификация пользователей, проверка форм и доменные модели.
-
Создание frontend-веб-приложений с помощью Kotlin/JS
Используйте Kotlin для разработки традиционных frontend-приложений, интегрируя их с существующими инструментами и библиотеками:
Если вы знакомы с разработкой для Android, вы можете создавать веб-приложения с помощью фреймворков на основе Compose, таких как Kobweb или Kilua.
-
Создавайте полностью типобезопасные приложения React с Kotlin/JS, используя обёртки Kotlin для распространённых библиотек JavaScript от JetBrains. Обёртки Kotlin (
kotlin-wrappers) предоставляют абстракции и средства интеграции с React и другими фреймворками JavaScript.Эти обёртки также поддерживают сопутствующие библиотеки, например React Redux, React Router и styled-components. Вы также можете использовать сторонние компоненты React и библиотеки компонентов благодаря взаимодействию с экосистемой JavaScript.
Используйте фреймворки Kotlin/JS, которые интегрируются с экосистемой Kotlin и позволяют писать лаконичный и выразительный код.
-
Создание мультиплатформенных приложений с поддержкой старых браузеров
С помощью Compose Multiplatform вы можете создавать приложения на Kotlin и повторно использовать мобильные и настольные пользовательские интерфейсы в веб-проектах. Хотя для этой цели в первую очередь предназначен Kotlin/Wasm, поддержку старых браузеров можно расширить, добавив Kotlin/JS в число целевых платформ.
-
Создание серверных и бессерверных приложений с помощью Kotlin/JS
Целевая платформа Node.js в Kotlin/JS позволяет создавать приложения для серверных и бессерверных сред на среде выполнения JavaScript. Это обеспечивает быстрый запуск и низкое потребление памяти. Библиотека
kotlinx-nodejsпредоставляет типобезопасный доступ к API Node.js из Kotlin.
В зависимости от варианта использования проекты Kotlin/JS могут использовать совместимые библиотеки из экосистемы Kotlin, а также сторонние библиотеки из экосистем JavaScript и TypeScript.
Чтобы использовать сторонние библиотеки в коде Kotlin, вы можете создать собственные типобезопасные обёртки или воспользоваться обёртками, которые поддерживаются сообществом. Кроме того, можно использовать динамический тип Kotlin/JS, который позволяет отказаться от строгой типизации и обёрток библиотек в ущерб типобезопасности.
Kotlin/JS также совместим с наиболее распространёнными системами модулей: ESM, CommonJS, UMD и AMD. Это позволяет создавать и использовать модули, а также структурированно интегрироваться с экосистемой JavaScript.
Расскажите о своих вариантах использования
Список в разделе Варианты использования Kotlin/JS не является исчерпывающим. Экспериментируйте с разными подходами и выберите наиболее подходящий для вашего проекта.
Расскажите о своих вариантах использования, опыте и задайте вопросы сообществу Kotlin/JS в канале #javascript в Kotlin Slack.
Начало работы с Kotlin/JS
Изучите основы и первые шаги, необходимые для начала работы с Kotlin/JS:
Если вы только начинаете знакомиться с Kotlin, сначала изучите основной синтаксис и пройдите экскурс по Kotlin.
Для вдохновения ознакомьтесь со списком примеров проектов Kotlin/JS. В этих примерах есть полезные фрагменты кода и шаблоны, которые помогут вам начать работу над своими проектами.
Если вы только начинаете работать с Kotlin/JS, прежде чем изучать более сложные темы, ознакомьтесь с руководством по настройке.
Хотите попробовать Kotlin/JS?
Примеры проектов Kotlin/JS
В следующей таблице представлен ряд примеров проектов, демонстрирующих различные варианты использования Kotlin/JS, архитектуры и стратегии совместного использования кода:
Проект |
Описание |
|---|---|
Показывает, как избежать дублирования кода в корпоративных приложениях, совместно используя объекты передачи данных, правила проверки и аутентификации, а также абстракции для конечных точек REST API. Код используется как в бэкенде на Spring Boot, так и во frontend-приложении на Angular. |
|
Демонстрирует несколько подходов к совместному использованию кода: от самых простых до полного совместного использования кода в приложениях на Ktor, Jetpack Compose и Vue.js. |
|
Показывает, как создать приложение со списком задач, используя подход, знакомый разработчикам Android. В нём создаётся клиентское приложение с пользовательским интерфейсом на базе фреймворка Kobweb. |
|
Совместное использование простой логики в Android, iOS и веб-приложениях |
Содержит шаблон проекта с общей логикой на Kotlin, которая используется в приложениях с нативным пользовательским интерфейсом для Android (Jetpack Compose), iOS (SwiftUI) и веба (React). |
Показывает, как создать приложение со списком задач для совместной работы с помощью Kotlin Multiplatform с целевыми платформами JS и JVM. В проекте используется Ktor для бэкенда и Kotlin/JS с React для frontend-приложения. |
Фреймворки Kotlin/JS
Фреймворки Kotlin/JS упрощают веб-разработку, предоставляя готовые к использованию компоненты, маршрутизацию, управление состоянием и другие инструменты для создания современных веб-приложений.
Ознакомьтесь с доступными фреймворками Kotlin/JS, созданными разными авторами.
Присоединяйтесь к сообществу Kotlin/JS
Присоединяйтесь к каналу #javascript в официальном Kotlin Slack, чтобы общаться с сообществом и командой Kotlin/JS.
Что дальше
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/js-overview.html