Flow (JS) logo

Flow (JS)

Flow is a static type checker for Javascript (by Facebook)
144
52
+ 1
0

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 20.6K GitHub stars and 1.8K GitHub forks. Here’s a link to Flow (JS)'s open source repository on GitHub

Who uses Flow (JS)?

Companies
76 companies reportedly use Flow (JS) in their tech stacks, including Instagram, Ruangguru, and commercetools.

Developers
61 developers on StackShare have stated that they use Flow (JS).

Flow (JS) Integrations

Pros of Flow (JS)
Be the first to leave a pro
Private Decisions at about Flow (JS)

Here are some stack decisions, common use cases and reviews by members of with Flow (JS) in their tech stack.

Forrest Norvell
Forrest Norvell
engineering manager at self-employed · | 6 upvotes · 130K views

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

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
Frédéric MARAND
Frédéric MARAND
Core Developer at OSInet · | 2 upvotes · 11.2K views
Shared insights
on
TypeScriptTypeScriptMeteorMeteorFlow (JS)Flow (JS)

I use TypeScript because I tried both on a Meteor project, and found the quantity of errors it enabled us to catch and the simplification of code it allowed was higher than Flow (JS).

See more
Gustavo Muñoz
Gustavo Muñoz
Web UI Developer at Globant · | 2 upvotes · 7.9K views

Long ago when Angular 2 evolved I had to decide between the new #Angular and TypeScript or React. I really love typing my code, but forced to use TypeScript was a bit too much. I prefer the new #ECMA standard and the evolution of the old and reliable JavaScript. So finding Flow (JS) was an incredible milestone in my career as a developer. Finally, I could use types in my code, and JavaScript with the new standard. I already had the experience of CoffeeScript, so TypeScript was not an option.

See more
Jarvis Stubblefield
Jarvis Stubblefield
Shared insights
on
TypeScriptTypeScriptFlow (JS)Flow (JS)

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
Tomáš Pustelník
Tomáš Pustelník

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
Public Decisions about Flow (JS)

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
Shared insights
on
TypeScriptTypeScriptFlow (JS)Flow (JS)

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 · 23.3K views

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 · 130K views

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
Senior Mobile Engineer at GitHub · | 6 upvotes · 9K views

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

From a StackShare community member: "We are looking to rewrite our outdated front-end with TypeScript. Right now we have a mix of CoffeeScript and vanilla JavaScript. I have read that adopting TypeScript can help enforce better code quality, and best practices. I also heard good things about Flow (JS). Which one would you recommend and why?"

See more
Jason Barry
Jason Barry
Cofounder at FeaturePeek · | 4 upvotes · 24.7K views

I think our #Frontend stack is pretty standard – but we have taken some deviations from a typical modern stack:

  • Flow (JS) instead of TypeScript. Flow was an easy choice 2+ years ago, as both flow and React were (and still are) maintained by Facebook. Today, it seems that the JavaScript community has settled on TypeScript as the winner. For new projects, I'd choose TS, but I don't see the point in migrating an existing project from flowtype to TS, when the end result will be roughly the same. Sure, memory usage is a bit high, and every now and then I have to kill some zombie processes, but our text editors (Sublime Text), CI scripts, and Babel are already set up to take advantage of the type safety that flow offers. When/if the React team writes React itself in TS, then I'll take a closer look – until then, flow works for us.

  • Yarn instead of npm. When yarn debuted, we never looked back. Now npm has pretty much caught up with speed and lockfiles, but yarn gives me confidence that my dependency installs are deterministic. Really interested in the plug-n-play (PnP) feature that removes the need for a node_modules folder, but haven't implemented this yet.

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.
TensorFlow.js
Use flexible and intuitive APIs to build and train models from scratch using the low-level JavaScript linear algebra library or the high-level layers API
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
It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.
See all alternatives

Flow (JS)'s Followers
52 developers follow Flow (JS) to keep up with related blogs and decisions.
Urbil Arribillaga Ubiria
DevOF Bluetec
SeungJae Shin
Paterson  Djemi
Sean Nowotny
Jason Waldrip
Facundo Estevez
Ben  Gilat
Dmitry Spirin
julien besse