In 2007, Jeff Atwood made a quote that became popularly known as Atwood's Law: "Any application that can be written in JavaScript will eventually be written in JavaScript."
Regarding TypeScript, it provides similar functionality to Kotlin, such as type checking, extension functions, and null safety. The only difference is the compilation step, as TypeScript uses Node, which utilizes the V8 engine, while Kotlin compiles in a different way and produces Java-compatible bytecode.
The only concern here is performance, but we can either create a better runtime or engine for JavaScript that can execute it faster. In my opinion, the performance of JavaScript/TypeScript is not bad at all. Are there any metrics showing that apps in React Native are extremely slow?
We can easily write cross-platform apps using a statically typed and concise syntax with TypeScript. It is easier to maintain complex applications and moderately easy to maintain when written correctly and isn't messy. We can also create components that can be easily shared between platforms, and it has a low barrier for entry. Additionally, we can write native code in React Native if we want to.
This is a hotly debated topic, and in my opinion, all the answers are biased. I admit my bias because I come from a heavy JavaScript background. Kotlin is also very good and fast. However, I haven't noticed any significant performance issues with JavaScript so far, maybe just a few seconds of delay in opening the app and larger APK sizes.
So, is TypeScript bad, and should I use it for Android, desktop, and iOS apps, or should I only use it for frontend development?