Is it time to ditch Flow in favor of Typescript?

pajasevi profile image Pavel Ševčík ・2 min read

Recently, I have been witnessing a lot of projects migrating to Typescript and have to ask myself the same question. Is it time to stop using Flow and start using Typescript?

I've seen a lot of backlash from developers that were using Flow to typecheck their Javascript applications. One was even from a former Flow developer:

Then came another one from a friend of mine who's been using Flow for a long time:

And then I read a comment from Apollo (GraphQL client) claiming they won't support Flow anymore and are moving to Typescript.

Sure, Flow has a lot of issues and since it's still unstable, it's very annoying to update your app to use the latest version. But I liked the idea to just have static types added to Javascript instead of having to use another language like Typescript.

That said, Typescript definitely has it's benefits like abstract/protected/private classes, methods and properties and there is a great community providing type definitions for almost every library.

So yeah, I am thinking of rewriting my current project to use Typescript.

Is there any hope left for Flow? Does it still have some benefits for which you would not migrate to Typescript?


markdown guide

I am switching from flow to typescript because I have a new employer and that's what they use.
I think flow is better with eslint.
I was using react with eslint and I extended it with the airbnb eslint lib.
The airbnb plugin was really good, warning me about things like unused states, stateless components etc.
I haven't been able to match all the features with tslint yet, but overall I find tslint a lot less problematic


TSLint will actually be deprecated in favor of ESLint and its Typescript plugin. (source: medium.com/palantir/tslint-in-2019...)


Nice language, I might give it a try someday, but it's too different. All I need is Javascript with static types.