React Kotlin: Production ready?


#1

I need to create a medium/large website (crud, reports, planning, …)
This will be an SPA application with mostly Kotlin on the server.

For the client I was thinking React, but also using Kotlin for this would be great of course.

I tried the create-react-kotlin-app, and it seems to be working nice.
But is this production ready? If not, will this be maintained in the future and follow the react releases?

Are there better alternatives?


#2

No idea how stable it is but IMHO html builders are nowhere near the jsx in convenience and ease of use. Typesafe - yes, comfortable - no.
Using hyperapp.h/ReactDom.createElement like api in kotlin is less verbose than using builders.

I would suggest using full kotlin for business logic, dto’s, server communications and lot of dynamic for actual view components with some in project api wraps for templates.

If you have no experience with kotlin.js expect to have multiple minor/major bumps while getting used to toolchain. Like not so fast build times, provided client apis and types being of latest and greatest version but not actually supported for like 50% of browsers, problems while debugging, like no easy way to inspect some collections etc

In general you have to understand what actually happening both on js and kotlin sides otherwise it will be an adventure.

I have about 2 years worth of kotlin.js experience and overall would recommend it. But having deep understanding of js and browsers is absolutely required.


#3

A real benefit of Kotlin/JavaScript would be if there were a framework that would actually use this aspect. This could be something like JSF or Wicket, but with the client part actually on the browser (and not half of it on the server).

Using a JavaScript framework like React with Kotlin is not that beneficial. You have to build your own tool chain and you have to translate every example you find to Kotlin. Plus you will have bugs hardly anyone besides you will have.


#4

Thanks. I think I will just use plain React with Typescript for now.
I hope that for my next project I can build my SPA with some Kotlin framework, but for now it seems it bit too risky.


#5

You could try KVision. It’s probably the most advanced framework for Kotlin/JS.