I have a couple of highly subjective questions I'v...
# react
j
I have a couple of highly subjective questions I've been wondering about...and I appreciate that the answers will also probably be fairly biased as I'm asking it on the react channel of the kotlin slack! For context, I am sole developer on a web application, quite competent in kotlin, javascript and react. I vastly prefer kotlin over javascript due to type safety, reduced boilerplate and intuitive language and libraries. My questions: 1. is the experience of developing a web app using kotlin-js and react a decent option in terms of developer experience? I'm not opposed to learning new kotlin native frameworks if that's a better long term. Will I be forever retrofitting types onto the javascript libraries I use, or is that largely solved now? I had a hellish time with typescript a few years back... 2. is there a fairly straightforward migration path from an existing javascript/react app to kotlin-js/React? Perhaps I grow the kotlin-js side of things slowly over time? Or is it better to take the hit and migrate all at once?
a
The update->preview cycle is still relatively slow, this increases with project's size and it does have a huge impact on developer productivity (DX -= 30) You are going to have to add your own types if you happen to be using anything besides the available kotlin wrappers. To me, this was not a bottle neck, as I tend to define only the types I need and I add more the moment I need. I made this process a progressive one and I love that (DX += 4) I have no comment about migration, I feel like either way would be fine by me
🙌 1
m
Personally I found the development experience pretty good (I've been using the React and Tanstack wrappers as part of a full stack learning management system where the viewmodel logic and datalayer is shared). I've been able to (with relatively little pain) add my own wrappers for React components and the like where needed. The interoperability with Javascript is definitely not as seamless as is the case with JVM and Android. For migration - that's a Kotlin strong point - can be as much or as little as you like. You can create a Kotlin wrapper for your own component that is Javascript or Typescript, you don't have to migrate everything right away.
🙌 1