Typesafe HTML DSL
Библиотека 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 Wiki, где вы найдете больше информации о том, как создавать элементы без их добавления в 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