October 10, 2019
I am late to this debate and you can already find a ton of content on the web comparing these two products, however this article is mostly going to be talking about my experience of migrating from one to another.
This material describes the differences very well.
After using Flow every day for few years, I challenged myself to switch one of my apps to TypeScript.
I had both good and poor experiences with Flow so it made sense to check if TypeScript fits my needs better. The codebase I was going to switch had to be small but complex enough, so I ended up porting ~100 .jsx files to .tsx.
There are tools that you can use to automate the process. However I did it all manually in order to learn as much as possible.
$Keys), but I found this amazing package that brings a bunch of them to TypeScript
When I started the migration I was expecting to encounter many more challenges, but it was a pretty smooth transition.
My opinion is that you are probably going to end up being more productive using TypeScript rather than Flow mostly because of strong IDE support and richer 3rd party typings.
I am pleased with the outcome of the migration so the app is going to be developed with TypeScript instead of Flow from now on.
As for future apps, the odds will be in TypeScript’s favor unless it gives me enough reasons to consider differently.