2 years later, Flow is _still_ lagging behind in this area. [1] I'm not certain, but I think this may be due to Typescript allowing for a external header-like file while Flow requires inline types.
For this reason I believe, as many other commenters have noted, Typescript has nearly always been ahead of Flow in popularity.
this may be due to Typescript allowing for a external
header-like file while Flow requires inline types.
Flow supports external declaration files. I use them all the time for 3rd party modules.Though it looks like it didn't become active until after at least 03/2016 [2].
I mention this only because TypeScript has been active in this area since 10/2012 [3], which is in-line with the original intent of my comment - that Flow is over 2 years (closer to 3.5 years) behind in building this out.
[1] https://github.com/flowtype/flow-typed
[2] https://github.com/flowtype/flow-typed/graphs/contributors
[3] https://github.com/DefinitelyTyped/DefinitelyTyped/graphs/co...
Google Trends https://www.google.com/trends/explore?date=all&q=%2Fm%2F0n50...
NPM Downloads https://npm-stat.com/charts.html?package=typescript&package=...
- TS has been released before Flow
- TS has the support of the Angular community
With Flow you don't even have to opt-in to a new syntax. You can just use comments:
function foo(val /* : boolean */) /* : string */ {}
Using really powerful inference you can also write much fewer types. If you have well types libraries [you sometimes don't need types in your code at all](https://medium.com/@thejameskyle/flow-mapping-an-object-373d...).So you use a opt-in comment-based syntax instead of a opt-in non-comment based one for type-annotations.
Hardly a big difference.
> Using really powerful inference you can also write much fewer types
I'm just going to assume you didn't know typescript does this too.
Typescript is nice. You should give it a try once. You may end up surprised:)
Doesn't TypeScript actually predate all of those tools? So that logic doesn't seem reasonable.