> (paraphrasing) No PWA competes with a native experience even development wise
I'm personally too spoiled by the React debugging experience, and I'm saying this as a developer who mainly does C#. On the other hand, I know many developers who can't stand a line of JavaScript. The answer is here a huge "it depends, really".
Typescript is just a huge bandage. It doesn't change that JavaScript has horrible tooling that changes every full moon. Not to mention it still keeps many of JavaScript's horrible warts.
When you can't avoid Javascript (which is extremely likely now), Typescript is a huge boon. Not everyone has the luxury of working solely on the backend.
Which "warts" does Typescript keep from Javascript?
Have you recently used Javascript? I ask because it's evolved pretty fast in the last 3 years. Even the past 2 years seem like a blur to me. Before 2015 it was unusable for me for large app development. Typescript evolves just as fast since it's a superset of javascript. 2.x was when it was usable for me. With 3.x, I have even fewer complaints. imo both are improving way faster than I can complain. That said, I still can't go back to Javascript after using Typescript. With rxjs and other popular 3rd party libs, it's hard to notice any limits. I'm not in love with Javascript, but it's just hard not to work with it since it's become the franca lingua of programming. Everyone knows it because everyone probably has to deal with it sooner or later. The ecosystem is also really strong. I have yet to had re-invent any wheels, which is something that's hard to avoid when using tech with smaller communities.
Bigger difference than that. Flutter has you writing in high-level components that become native draw calls using Skia. There's an in-progress back-end that outputs to HTML, Canvas, and CSS paint instead of Skia. You aren't going to be using npm much at all.
If you are using Dart without flutter (eg, overReact), then you're going to use npm a bit more (though dart has better builtin libs which helps a bit on that front). There is a generator that uses typescript definition files to generate dart interopt files.
I'm personally too spoiled by the React debugging experience, and I'm saying this as a developer who mainly does C#. On the other hand, I know many developers who can't stand a line of JavaScript. The answer is here a huge "it depends, really".