So, I hacked up a quick front end application using kotlin/js. Writing kotlin was a lot more enjoyable than the atrocity that is javascript. My main focus as a developer is backend development using kotlin/jvm + spring. But, Now I am considering to actually write some front end apps using Kotlin/JS. The problem is that I am not familiar with the front-end tooling and ecosystem.
If I were to learn front-end development (properly) using kotlin/js, what tools, frameworks and technologies that should I learn (The ones that work while causing the least amount of hassle with kotlin/js) in order to be able to create production ready front-end applications?
I already know about the following
1. Webpack for packaging.
2. Yarn or NPM as depedency managers, but, I have no idea which one to learn and why. Maybe I should learn both?
3. Which tools should I use for testing? I have heard about mocha, karma and seleniom, What are the differences?
4. Any thing else that I need to consider?
5. ReactJS. I hear about it alot but, have no idea what it is supposed to do.
6. Any other tools, libraries or frameworks that I should consider.
I obviously aim to research all of that myself. But, I would appreciate the point of view of other Kotlin/JS developers as to which ones are best supported with Kotlin/JS and are most suited for an occasional front-end developer (as opposed to a dedicated one)