
KVision
Object oriented web framework for Kotlin/JS.
https://kvision.io

KVision allows you to build modern web applications with the Kotlin language,
without any use of HTML, CSS or JavaScript. It gives you a rich hierarchy of ready to use GUI components,
which can be used as builder blocks for the application UI.
KVision fully supports both reactive and imperative programming models. It gives you everything you may need for the state management of your apps.
KVision integrates with Kilua RPC library for Ktor, Jooby, Spring Boot,
Javalin, Vert.x and Micronaut frameworks on the server side, which
allows to build fullstack applications with shared code for data model and business logic.
KVision is being actively developed. Please create an issue for any bugs or feature requests.
Sample code
class App : Application() {
val state = ObservableValue("Hello world")
override fun start() {
root("root") {
vPanel {
h1(state) {
+it
}
button("Add an exclamation mark").onClick {
state.value += "!"
}
}
}
}
}
Features
Examples and documentation
Ready to explore, rich set of KVision examples is available in the separate project.
See also the complete frontend implementation of RealWorld example application and a fullstack version built with Spring Webflux and R2DBC.
The comprehensive KVision guide is published on GitBook.
The API documentation, generated with new Dokka, is available at https://rjaros.github.io/kvision/index.html.
You can also look at KVision blog posts at dev.to and you can talk with KVision
users and developers on Kotlin Slack #kvision channel and on the Discord server.
Quickstart
Development
Production
To build complete application optimized for production run:
./gradlew zip (on Linux)
gradlew.bat zip (on Windows)
Application package will be saved as build/libs/showcase-1.0.0-SNAPSHOT.zip.
Leave us a star
If you like this project, please give it a star on GitHub. Thank you!