Kotlin/JS frameworks
Take advantage of available Kotlin/JavaScript frameworks that simplify web development. These frameworks provide ready-to-use components, routing, state management, and other tools for building modern web applications.
Here are some Kotlin/JS web frameworks from the community:
Kobweb
Kobweb is a Kotlin framework for creating websites and web applications with Compose HTML. It supports live-reloading for fast development. Inspired by Next.js, Kobweb promotes a standard structure for adding widgets, layouts, and pages.
Out of the box, Kobweb provides page routing, light/dark mode, CSS styling, Markdown support, backend APIs, and more. It also includes Silk, a UI library with a set of versatile widgets for modern UIs.
Kobweb also supports site export by generating page snapshots for SEO and automatic search indexing. Additionally, it enables the creation of DOM-based UIs that efficiently update in response to state changes.
For more information and examples, see the Kobweb documentation.
For updates and discussions about the framework, join the #kobweb and #compose-web channels in Kotlin Slack.
Kilua
Kilua is a composable web framework built on the Compose Runtime and is similar to the compose-html library. Unlike compose-html, Kilua supports both Kotlin/Wasm and Kotlin/JS targets.
Kilua provides a modular API for creating declarative UI components and managing their state. It also includes a set of ready-to-use components for common web application use cases.
Kilua is a successor to the KVision framework. Kilua is designed to be familiar to both Compose users (@Composable functions, state management, coroutines/flow integration) and KVision users (a component-based API that allows some imperative interaction with UI components).
For more information and examples, see the Kilua documentation.
For updates and discussions about the framework, join the #kilua channel in Kotlin Slack.
Summon
Summon is a Kotlin Multiplatform frontend framework for building high-performance applications across JVM, Kotlin/JS, and Kotlin/Wasm. It supports component-based UI development, first-class server-side rendering (SSR) with HTML streaming, and modifier-driven styling that compiles to clean CSS.
Summon also focuses on runtime-aware components for accessibility and advanced behavior, while keeping a unified codebase across platforms.
For more information and examples, see the Summon documentation.
Kinetica
Kinetica is a Kotlin UI framework focused on practical outcomes for web apps: fast initial page delivery through server rendering, SEO-friendly HTML output, and a smooth handoff to interactive client-side UI after the page loads. It also supports headless testing, which helps teams test UI behavior quickly and reliably without depending on full browser environments.
Out of the box, Kinetica includes routing, forms, and persistence modules, so teams can ship common app features faster. Its update model applies minimal DOM patches, which helps keep interactions responsive as state changes, and its consistent reactive model is designed to reduce unexpected behavior in larger apps.
For more information and examples, see the Kinetica documentation.
Kotlin React
React is a component-based library, widely used for web and native user interfaces. It offers a large ecosystem of components, learning materials, and an active community.
Kotlin React is a Kotlin wrapper for React that combines the React ecosystem with the type-safety and expressiveness of Kotlin.
For updates and discussions about the library, join the #react and #javascript channels in Kotlin Slack.
KVision
KVision is an object-oriented web framework for building Kotlin/JS applications with ready-to-use UI components. These components can be building blocks for your application's user interface.
With this framework, you can use both reactive and imperative programming models to build your frontend. You can also integrate it with your backend applications by using connectors for Ktor, Spring Boot, and other frameworks. In addition, you can share code using Kotlin Multiplatform.
For more information, tutorials, and examples, see the KVision documentation.
For updates and discussions about the framework, join the #kvision and #javascript channels in Kotlin Slack.
fritz2
fritz2 is a standalone framework for building reactive web user interfaces. It provides its own type-safe DSL for building and rendering HTML elements and uses Kotlin's coroutines and flows to define components and their data bindings.
Out of the box, fritz2 offers state management, validation, routing, and more. It also integrates with Kotlin Multiplatform projects.
For more information, tutorials, and examples, see the fritz2 documentation.
For updates and discussions about the framework, join the #fritz2 and #javascript channels in Kotlin Slack.
Doodle
Doodle is a vector-based UI framework for Kotlin/JS. Doodle applications use the browser's graphics capabilities to draw user interfaces instead of relying on DOM, CSS, or JavaScript. This approach gives you control over the rendering of arbitrary UI elements, vector shapes, gradients, and custom visualizations.
For more information, tutorials, and examples, see the Doodle documentation.
For updates and discussions about the framework, join the #doodle and #javascript channels in Kotlin Slack.