Spec-Zone.ru › Kotlin 1.7

Kotlin для JavaScript

Kotlin/JS предоставляет возможность транспилировать ваш код Kotlin, стандартную библиотеку Kotlin и любые совместимые зависимости в JavaScript. Текущая реализация Kotlin/JS ориентирована на ES5.

Рекомендуемый способ использования Kotlin/JS — с помощью kotlin.js и kotlin.multiplatform плагинов Gradle. Они позволяют легко настроить и контролировать проекты Kotlin, ориентированные на JavaScript, в одном месте. Это включает в себя такие основные функции, как управление объединением вашего приложения, добавление зависимостей JavaScript непосредственно из npm и многое другое. Чтобы ознакомиться с доступными вариантами, обратитесь к документации по настройке проекта Kotlin/JS.

Примеры использования Kotlin/JS

Существует множество способов использования Kotlin/JS. Ниже приведен неполный список сценариев, в которых вы можете использовать Kotlin/JS:

  • Разработка веб-приложений на стороне клиента с использованием Kotlin/JS

    • Kotlin/JS позволяет вам эффективно использовать мощные браузерные и веб-API безопасным для типов способом. Создавайте, изменяйте и взаимодействуйте с элементами Document Object Model (DOM), используйте код Kotlin для управления отображением canvas или WebGL-компонентов, и получите доступ к многим другим функциям, поддерживаемым современными браузерами.

    • Разрабатывайте полноценные приложения React с безопасностью типов на Kotlin/JS с помощью kotlin-wrappers, предоставляемого JetBrains, которые обеспечивают удобные абстракции и глубокую интеграцию для React и других популярных JavaScript-фреймворков. kotlin-wrappers также предоставляет поддержку ряда смежных технологий, таких как react-redux, react-router, и styled-components. Взаимодействие с JavaScript-экосистемой означает, что вы также можете использовать сторонние компоненты и библиотеки React.

    • Используйте фреймворки Kotlin/JS, которые полностью используют концепции Kotlin и его выразительность и лаконичность.

  • Разработка серверных и бессерверных приложений с использованием Kotlin/JS

    • Целевой Node.js, предоставляемый Kotlin/JS, позволяет вам создавать приложения, которые работают на сервере или выполняются в бессерверной инфраструктуре. Это дает вам все преимущества выполнения в JavaScript-среде, такие как быстрый запуск и уменьшенный размер занимаемой памяти. С kotlinx-nodejs у вас есть безопасный для типов доступ к API Node.js непосредственно из вашего кода Kotlin.

  • Использование проектов Kotlin мультиплатформенных для совместного использования кода с другими целевыми платформами Kotlin

    • Все функции Kotlin/JS также доступны при использовании плагина Gradle Kotlin multiplatform.

    • Если ваш бэкенд написан на Kotlin, вы можете разделить общий код, такой как модели данных или логика валидации, с фронтендом, написанным на Kotlin/JS, что позволяет вам разрабатывать и поддерживать веб-приложения полного стека.

    • Вы также можете разделить бизнес-логику между вашим веб-интерфейсом и мобильными приложениями для Android и iOS и избегать дублирования часто используемых функций, таких как предоставление абстракций вокруг конечных точек REST API, аутентификации пользователя или ваших моделей предметной области.

  • Создание библиотек для использования с JavaScript и TypeScript

    • Вам не нужно писать всё ваше приложение на Kotlin/JS — вместо этого вы можете генерировать библиотеки из вашего кода Kotlin, которые могут использоваться как модули из любого кода, написанного на JavaScript или TypeScript, независимо от используемых вами других фреймворков или технологий. Этот подход создания гибридных приложений позволяет вам использовать ваши и ваши командные компетенции в веб-разработке, помогая вам снизить количество дублируемой работы, что упрощает поддержание согласованности вашей веб-цели с другими целями вашего приложения.

Конечно, это неполный список всех способов использования Kotlin/JS, но лишь некоторые выбранные примеры использования. Мы приглашаем вас экспериментировать с различными комбинациями и выяснить, что лучше всего подходит для вашего проекта.

В любом случае, проекты Kotlin/JS могут использовать совместимые библиотеки из экосистемы Kotlin, а также сторонние библиотеки из экосистем JavaScript и TypeScript. Чтобы использовать последние из кода Kotlin, вы можете либо создать свои собственные безопасные для типов обертки, использовать поддерживаемые сообществом обертки или позволить Dukat автоматически сгенерировать объявления Kotlin для вас. Использование эксклюзивной для Kotlin/JS динамической типизации позволяет ослабить ограничения системы типов Kotlin и пропустить создание подробных обёрток библиотек, хотя это происходит за счёт безопасности типов.

Kotlin/JS также совместим с наиболее распространёнными системами модулей: UMD, CommonJS и AMD. Возможность создавать и использовать модули означает, что вы можете взаимодействовать с JavaScript-экосистемой структурированным способом.

END_OF_DOCUMENT_MARKER

Фреймворки Kotlin/JS

Современное веб-разработка значительно выигрывает от фреймворков, которые упрощают создание веб-приложений. Вот несколько примеров популярных веб-фреймворков для Kotlin/JS, написанных разными авторами:

KVision

KVision — это объектно-ориентированный веб-фреймворк, который позволяет писать приложения на Kotlin/JS с готовыми компонентами, которые можно использовать как строительные блоки пользовательского интерфейса вашего приложения. Вы можете использовать как реактивные, так и императивные модели программирования для создания своего фронтенда, использовать коннекторы для Ktor, Spring Boot и других фреймворков для интеграции с вашими приложениями на стороне сервера и обмениваться кодом с помощью Kotlin Multiplatform.

Посетите https://kvision.io для документации, обучающих материалов и примеров.

Чтобы следить за обновлениями и обсуждать фреймворк, присоединяйтесь к каналам #kvision и #javascript в Kotlin Slack.

fritz2

fritz2 — это автономный фреймворк для создания реактивных веб-интерфейсов. Он предоставляет собственный безопасный по типам DSL для создания и рендеринга HTML-элементов, а также использует сопрограммы и потоки Kotlin для выражения компонентов и их привязок к данным. Он предоставляет управление состоянием, валидацию, маршрутизацию и многое другое «из коробки» и интегрируется с проектами Kotlin Multiplatform.

Посетите https://www.fritz2.dev для документации, обучающих материалов и примеров.

Чтобы следить за обновлениями и обсуждать фреймворк, присоединяйтесь к каналам #fritz2 и #javascript в Kotlin Slack.

Doodle

Doodle — это фреймворк для пользовательских интерфейсов на основе векторов для Kotlin/JS. Приложения Doodle используют графические возможности браузера для отрисовки пользовательских интерфейсов вместо DOM, CSS или Javascript. Такой подход позволяет Doodle точно контролировать отображение произвольных элементов пользовательского интерфейса, векторных фигур, градиентов и пользовательских визуализаций.

Посетите https://nacular.github.io/doodle/ для документации, обучающих материалов и примеров.

Чтобы следить за обновлениями и обсуждать фреймворк, присоединяйтесь к каналам #doodle и #javascript в Kotlin Slack.

Compose для веб

Compose для веб, часть Compose Multiplatform, добавляет инструментарий UI Jetpack Compose от Google в ваш браузер. Он позволяет создавать реактивные веб-интерфейсы, используя концепции, представленные в Jetpack Compose. Он предоставляет API DOM для описания вашего веб-сайта, а также экспериментальный набор многоплатформенных элементов макета. Compose для веб также предоставляет возможность совместного использования частей кода и логики пользовательского интерфейса между Android, настольными компьютерами и веб-приложениями.

Дополнительную информацию о Compose Multiplatform можно найти на его странице.

Присоединяйтесь к каналу #compose-web в Kotlin Slack для обсуждения Compose для веб или к #compose для общих обсуждений Compose Multiplatform.

Kotlin/JS, настоящее и будущее

В этом видео Kotlin Developer Advocate Себастьян Айгнер объясняет основные преимущества Kotlin/JS, делится советами и примерами использования и рассказывает о планах и будущих функциях Kotlin/JS.

Начало работы с Kotlin/JS

Если вы новичок в Kotlin, хорошим первым шагом будет ознакомление с основным синтаксисом языка.

Чтобы начать использовать Kotlin для JavaScript, обратитесь к настройке проекта Kotlin/JS. Также вы можете пройти урок или посмотреть список примеров проектов Kotlin/JS для вдохновения. Они содержат полезные фрагменты кода и шаблоны и могут послужить хорошим стартом для ваших собственных проектов.

Уроки для Kotlin/JS

  • Создание веб-приложения с React и Kotlin/JS — учебник проведет вас через процесс создания простого веб-приложения с использованием фреймворка React, покажет, как безопасный по типам Kotlin DSL для HTML упрощает создание реактивных элементов DOM, и продемонстрирует, как использовать компоненты React сторонних разработчиков и получать информацию из API, все это, написав всю логику приложения на чистом Kotlin/JS.

  • Создание полнофункционального веб-приложения с Kotlin Multiplatform знакомит с концепциями создания приложений, ориентированных на Kotlin/JVM и Kotlin/JS, создавая клиент-серверное приложение, которое использует общий код, сериализацию и другие парадигмы многоплатформенности. Также представлено краткое введение в работу с Ktor как с серверным, так и с клиентским фреймворком.

Примеры проектов для Kotlin/JS

  • Полностью функциональное совместное приложение списка задач Spring показывает, как создать список задач для совместной работы, используя kotlin-multiplatform с JS и JVM, Spring для бэкенда, Kotlin/JS с React для фронтенда и RSocket.

  • Список задач Kotlin/JS и React Redux реализует список задач React Redux с использованием JavaScript-библиотек (react, react-dom, react-router, redux, и react-redux из npm и Webpack для сборки, минимизации и запуска проекта.

  • Демонстрационное полнофункциональное веб-приложение проведет вас через процесс создания приложения с лентой, содержащей созданные пользователями сообщения и комментарии. Все данные подменяются службами fakeJSON и JSON Placeholder.

Новый компилятор Kotlin/JS IR

Новый компилятор Kotlin/JS IR (сейчас со стабильностью Бета) содержит ряд улучшений по сравнению с текущим компилятором по умолчанию. Например, он уменьшает размер сгенерированных исполняемых файлов с помощью удаления неиспользуемого кода и обеспечивает более плавную взаимосвязь с JavaScript-экосистемой и ее инструментами. Генерируя файлы описаний TypeScript (d.ts) из кода Kotlin, новый компилятор упрощает создание «гибридных» приложений, которые смешивают код TypeScript и Kotlin, и использование функций совместного использования кода с помощью Kotlin Multiplatform.

Чтобы узнать больше о доступных функциях нового компилятора Kotlin/JS IR и о том, как попробовать его в своем проекте, посетите страницу документации компилятора Kotlin/JS IR и руководство по миграции.

Присоединяйтесь к сообществу Kotlin/JS

Вы также можете присоединиться к каналу #javascript в официальном Kotlin Slack для общения с сообществом и командой.

Последнее изменение: 06 сентября 2022
Kotlin для Android Kotlin Native

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/js-overview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API