Типобезопасный DSL для HTML
Библиотека kotlinx.html предоставляет возможность генерировать DOM-элементы с помощью статически типизированных билдеров HTML (и, помимо JavaScript, она даже доступна для JVM!). Для использования библиотеки, включите соответствующий репозиторий и зависимость в наш build.gradle.kts файл:
repositories {
// ...
jcenter()
}
dependencies {
implementation(kotlin("stdlib-js"))
implementation("org.jetbrains.kotlinx:kotlinx-html-js:0.7.1")
// ...
}
После включения зависимости, вы можете получить доступ к различным интерфейсам для генерации DOM. Для рендеринга заголовка, некоторого текста и ссылки, например, достаточно следующего фрагмента:
import kotlinx.browser.*
import kotlinx.html.*
import kotlinx.html.dom.*
fun main() {
document.body!!.append.div {
h1 {
+"Welcome to Kotlin/JS!"
}
p {
+"Fancy joining this year's "
a("https://kotlinconf.com/") {
+"KotlinConf"
}
+"?"
}
}
}
При запуске этого примера в браузере DOM будет собираться простым способом. Это легко подтвердить, проверив элементы веб-сайта с помощью инструментов разработчика браузера:

Чтобы узнать больше о библиотеке kotlinx.html, ознакомьтесь с вики GitHub, где вы найдете дополнительную информацию о том, как создавать элементы без добавления их в DOM, привязываться к событиям, таким как onClick, и примеры того, как применять CSS-классы к вашим HTML-элементам.
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/typesafe-html-dsl.html