* Flow from Facebook
* TypeScript
* Elm
* PureScript
* Flow from Facebook
* TypeScript
* Elm
* PureScript
I've never heard of Elm or PureScript being used for backends, users would prefer Haskell I presume. With elm it would require using ports for almost everything, I haven't used PureScript so I can't comment on that.
And as far as ecosystems go, I would prefer using the Python one rather than the Node one.
So far, TypeScript's type system isn't perfect, but it is strict enough to help me catch errors before runtime. Also, there's the (huge) added benefit of making code more readable and self-documenting.
I think I've only had one instance where I violated a type at runtime, but keeping the type system in mind as you're writing your code, you know exactly where those things can or can't happen.
I am really enjoying using Visual Studio's excellent IntelliSense and debugging features, which are on-par with any other web language I've used. Generally speaking, the typing makes hints and autocompletion far better.
Overall, I'd give the whole experience a 7 out of 10. I don't really know of a more productive way to write asynchronous code at the moment.
In addition, if you intend to use static typing on generated JS, I suspect that you are going to lose plenty of information.