The question is — should I use Scala for Android today?
Mike Limansky

Depends on what you’re doing. My personal preference would be: HTML5; then React Native; then Kotlin, all of which come with trade-offs in speed of development, resource availability, long-term scalability, …

For instance Twitter HTML5 app is good enough for me to use via Google Chrome. Since 2015, we received push notifications and service workers making web apps not so far from native.

When you need snappiness but fast iterations, React Native is definitely the way. However that’s another layer of abstraction.

And if you need to exploit Android, Kotlin will be excellent.

Nothing’s stopping you from using all of these at once though. Some parts you may be want to be easy to change by a junior web developer, other parts can be coded once in Kotlin/React Native/whatever. For example, on iOS I was able to wire up an app with Swift and do the code views (using SVG and stuff) with ClojureScript (Reagent library). That was good because I was able to see my changes very quickly.

There’s a plethora of choice and you must analyse your short-term, mid-term and long-term goals.

Note on JavaScript: it doesn’t scale. There are type systems for JavaScript which are half-baked. I would not recommend prototyping with Scala however if you don’t know it very well and are under time pressure.

I think I could write a whole article on this :)