What is Flow (JS)?

Flow is a static type checker for Javascript created by Facebook.
Flow (JS) is a tool in the Static Type Checkers category of a tech stack.
Flow (JS) is an open source tool with 19.6K GitHub stars and 1.7K GitHub forks. Here’s a link to Flow (JS)'s open source repository on GitHub

Who uses Flow (JS)?

Companies
34 companies use Flow (JS) in their tech stacks, including Instagram, Clubhouse, and Locus.

Developers
17 developers use Flow (JS).

Why developers like Flow (JS)?

Here’s a list of reasons why companies and developers use Flow (JS)
Top Reasons
Be the first to leave a pro
Flow (JS) Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Flow (JS) in their tech stack.

Jarvis Stubblefield
Jarvis Stubblefield
Flow (JS)
TypeScript

I use TypeScript because it isn't just about validating the types I'm expecting to receive though that is a huge part of it too. Flow (JS) seems to be a type system only. TypeScript also allows you to use the latest features of JavaScript while also providing the type checking. To be fair to Flow (JS), I have not used it, but likely wouldn't have due to the additional features I get from TypeScript.

See more
David Koblas
David Koblas
VP Engineering at Payment Rails · | 9 upvotes · 3.8K views
atPayment Rails
TypeScript
Flow (JS)
JavaScript

We originally (in 2017) started rewriting our platform from JavaScript to Flow (JS) but found the library support for Flow was lacking. After switching gears to TypeScript we've never looked back. At this point we're finding that frontend and backend libraries are supporting TypeScript out of the box and where the support is missing that the commuity is typically got a solution in hand.

See more
Forrest Norvell
Forrest Norvell
engineering manager at self-employed · | 6 upvotes · 1.9K views
Visual Studio Code
Flow (JS)
ESLint
TSLint
TypeScript

I use TypeScript because the tooling is more mature (the decision to discontinue TSLint in favor of moving all its checks to ESLint is a thoughtful and mature decision), there's a ton of examples and tutorials for it, and it just generally seems to be where the industry is headed. Flow (JS) is a fine tool, but it just hasn't seen the uptake that TS has, and as a result is lacking a lot of the nicer small things, like thorough Visual Studio Code integration, offered by TS.

See more
Eli Perkins
Eli Perkins
Mobile Engineer at Clubhouse · | 6 upvotes · 948 views
atClubhouse
GraphQL
Flow (JS)
Relay

We use Relay because it's ability to generate Flow (JS) types based on given GraphQL fragments gives an immense amount of type safety. The relay-compiler helps us verify queries are valid before we build the app. Relay's ability to colocate queries with components, and compose many fragments, makes it easy to build a new component and get the data the component needs.

See more
Tomáš Pustelník
Tomáš Pustelník
Visual Studio Code
Flow (JS)
TypeScript

We currently use TypeScript at work. Previously we used Flow (JS) but it was sometimes really difficult to make the types work the way you want. Especially non-trivial types were problematic. And the IDE support wasn't good, Flow took too much resources and sometimes remain stuck and do not show errors (I use Visual Studio Code). With TypeScript we almost do not have these problems. IDE support is superb, working with types is much easier and typing system seems more mature and powerful. There are some downsides (like partion inheritance etc.), but TS team is still pushing it forward. So for me TypeScript is clear winner.

See more
React Native
Java
Flow (JS)
TypeScript

I use TypeScript for Web Applications and for both frontend and backend because it has a lot of tooling around it and they really got the types and type safety right. Flow (JS) on the other hand lacks tooling and most of the times I scramble to find the right way of building my contracts in which TypeScript is very intuitive and natural. Additionally TypeScript is very similar to Java so your backend engineers and full stack engineers can work with it without much of context switch.

The only time I think Flow shines is (based on probably my outdated knowledge) Flow is/was the only option if you want/wanted to build a React Native application mainly because React Native transpiler at the time I was working with it would only work with flow.

See more

Flow (JS)'s features

  • Type Inference
  • Easy Integration
  • Realtime Feedback

Flow (JS) Alternatives & Comparisons

What are some alternatives to Flow (JS)?
Flow
Flow is an online collaboration platform that makes it easy for people to create, organize, discuss, and accomplish tasks with anyone, anytime, anywhere. By merging a sleek, intuitive interface with powerful functionality, we're out to revolutionize the way the world's productive teams get things done.
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Handlebars.js
Handlebars.js is an extension to the Mustache templating language created by Chris Wanstrath. Handlebars.js and Mustache are both logicless templating languages that keep the view and the code separated like we all know they should be.
CoffeeScript
CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.
See all alternatives
Related Comparisons

Flow (JS)'s Stats