-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Add examples and use-cases to the JS overview #4933
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
AlejandraPedroza
merged 7 commits into
kotlin-js-doc-update
from
bring-back-more-information-to-js-overview
Aug 27, 2025
Merged
Changes from 5 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
ae5c95d
Replace moduleName with outputModuleName since moduleName is deprecated
JSMonk 94d7478
Add examples and use-cases to the JS overview
JSMonk 325e476
update: Kotlin/JS review
AlejandraPedroza 084ae15
separate frameworks from overview
AlejandraPedroza c98e6eb
chore: minor fixes
AlejandraPedroza 987eb14
Daniel review
AlejandraPedroza 9eb1bda
chore: minor fixes from TW review
AlejandraPedroza File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
[//]: # (title: Kotlin/JS frameworks) | ||
|
||
Take advantage of the 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. | ||
|
||
Below are a few examples of popular web | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
frameworks for Kotlin/JS written by different authors. | ||
|
||
### Kobweb | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
[Kobweb](https://kobweb.varabyte.com/) is a Kotlin framework for creating websites and web applications. It uses [Compose HTML](https://github.com/JetBrains/compose-multiplatform?tab=readme-ov-file#compose-html) and | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
supports live-reloading for fast development. Inspired by [Next.js](https://nextjs.org/), 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 features. | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
It also includes a UI library called [Silk](https://silk-ui.netlify.app/), which is a set of versatile widgets for modern UIs. | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
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 documentation and examples, see the [Kobweb docs](https://kobweb.varabyte.com/docs/getting-started/what-is-kobweb) site. | ||
|
||
For updates and discussions about the framework, join the [#kobweb](https://kotlinlang.slack.com/archives/C04RTD72RQ8) and | ||
[#compose-web](https://kotlinlang.slack.com/archives/C01F2HV7868) channels in the [Kotlin Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up). | ||
|
||
### Kilua | ||
|
||
[Kilua](https://kilua.dev/) is a composable web framework for Kotlin/Wasm and Kotlin/JS. It is built on the [Compose Runtime](https://developer.android.com/jetpack/androidx/releases/compose-runtime) and | ||
shares similarities with the [compose-html](https://github.com/JetBrains/compose-multiplatform#compose-html) | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
library. | ||
|
||
Kilua provides a modular API to create declarative UI components and manage their state. | ||
Unlike compose-html, Kilua supports both Kotlin/Wasm and Kotlin/JS targets. It also includes a set of | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
ready-to-use components for common web application use cases. | ||
|
||
Kilua is a successor to the [KVision](https://kvision.io) framework. Kilua is designed to be | ||
familiar to both Compose users (`@Composable` functions, state management, coroutines/flow integration) and | ||
KVision users (component-based API that allows some imperative interaction with the UI components). | ||
|
||
For documentation and examples, see the [Kilua repository](https://github.com/rjaros/kilua?tab=readme-ov-file#building-and-running-the-examples) on GitHub. | ||
|
||
For updates and discussions about the framework, join the [#kilua](https://kotlinlang.slack.com/archives/C06UAH52PA7) channel in the Kotlin Slack. | ||
|
||
### KVision | ||
|
||
[KVision](https://kvision.io) 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, use connectors for Ktor, Spring Boot, and other frameworks to integrate it with your server-side | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
applications, and share code using [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html). | ||
|
||
For documentation, tutorials, and examples, see the [KVision docs](https://kvision.io/#docs) site. | ||
|
||
For updates and discussions about the framework, join the [#kvision](https://kotlinlang.slack.com/messages/kvision) and | ||
[#javascript](https://kotlinlang.slack.com/archives/C0B8L3U69) channels in the [Kotlin Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up). | ||
|
||
### fritz2 | ||
|
||
[fritz2](https://www.fritz2.dev) 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 express components and their data bindings. | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
fritz2 offers state management, validation, routing, and more features out of the box. Additionally, it integrates with Kotlin Multiplatform projects. | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
For documentation, tutorials, and examples, see the [fritz2 docs](https://www.fritz2.dev/docs/) site. | ||
|
||
For updates and discussions about the framework, join the [#fritz2](https://kotlinlang.slack.com/messages/fritz2) and | ||
[#javascript](https://kotlinlang.slack.com/archives/C0B8L3U69) channels in the [Kotlin Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up). | ||
|
||
### Doodle | ||
|
||
[Doodle](https://nacular.github.io/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. By using this approach, Doodle gives you control | ||
AlejandraPedroza marked this conversation as resolved.
Show resolved
Hide resolved
|
||
over the rendering of arbitrary UI elements, vector shapes, gradients, and custom visualizations. | ||
|
||
For documentation, tutorials, and examples, see the [Doodle docs](https://nacular.github.io/doodle/docs/introduction/) site. | ||
|
||
For updates and discussions about the framework, join the [#doodle](https://kotlinlang.slack.com/messages/doodle) and | ||
[#javascript](https://kotlinlang.slack.com/archives/C0B8L3U69) channels in the [Kotlin Slack](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up). |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.