Review waiting, please be patient.
This may take 7 weeks or more, since drafts are reviewed in no specific order. There are 1,365 pending submissions waiting for review.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Reviewer tools
|
Submission declined on 17 April 2024 by Xkalponik (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources. This draft's references do not show that the subject qualifies for a Wikipedia article. In summary, the draft needs multiple published sources that are:
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
This draft has been resubmitted and is currently awaiting re-review. |
The topic of this draft may not meet Wikipedia's notability guidelines for products and services. (January 2024) |
Paradigm | Multi-paradigm: functional, generic, imperative, object-oriented |
---|---|
Family | JavaScript |
Designed by | Meta Platforms |
Developer | Meta Platforms |
Preview release | v0.226.0
|
Typing discipline | Structural, nominal |
Implementation language | OCaml[1][2] |
License | MIT License |
File formats | .js , .flow |
Website | flow |
Influenced by | |
JavaScript |
Flow is a popular, open-source type-checker for Javascript code which is built and maintained by Meta Platforms.[3][2][4][5] It is used as an alternative for TypeScript and offers stricter analysis, but has a smaller ecosystem.[6] For a while, React recommended Flow as the static type checker to use with JSX, although React no longer provides guidance regarding type-checking following the recent redesign of their website.[7] According to statistics provided by GitHub's dependency graph, Flow is depended on by over 170 thousand different repositories hosted on GitHub alone.[8] In comparison, TypeScript is used in over 15 million repositories.[9]
Features
editIt supports writing types for libraries in the .flow
format, which is somewhat similar to the .d.ts
format; however it uses Flow types rather than TypeScript types, which leads to some differences.[10] In addition, it supports checking the types of objects using exact object types, [11] which has been the default in Flow since v0.202.[12] One of TypeScript's major pain points is its lack of support of exact object types.
One of the major benefits of Flow is that it forces the use of explicit type annotations on a module level, which prevents mistakes when deciding SemVer bumps. Additionally, while it is slower,[13][14] it is considerably more complete.
History
edit- Flow was first announced in 2014, and open-sourced at that time.[3]
- In February 2015, Flow introduced typecasting and added support for defining types meant to be used outside the current module.[15][16] In comparison, TypeScript added support for
import type
declarations in early 2020.[17] - Later in February 2015, Flow introduced Flow comments, which allows writing type annotations as comments rather than as a syntax extension.[18] They are now one of the most common usages of Flow; in comparison, TypeScript is far more commonly used with its syntax extension.
- In 2016, Flow added support for Windows.[19]
- In 2020, a major rework of Flow's architecture was completed, offering up to 6 times faster type-checking.[20][21]
- In 2021, Facebook announced that Flow would, going forward, be prioritizing internal users of Flow at Facebook, although it would remain open-source.[21][22]
- In 2023, Flow announced that it had completed the transition to switch Exact Object Types on by default.[12]
References
edit- ^ "facebook/flow: Adds static typing to JavaScript to improve developer productivity and code quality". GitHub. Retrieved 17 January 2023.
- ^ a b "Flow - JavaScript Static Type Checker". 26 August 2021. Retrieved 18 January 2024.
- ^ a b Chaudhuri, Avik; Hosmer, Basil; Levi, Gabriel (18 November 2014). "Flow, a new static type checker for JavaScript". Engineering at Meta. Retrieved 17 January 2023.
- ^ Jackson, Joab. "Facebook's Flow could help JavaScript programmers spot elusive bugs". CIO New Zealand. Retrieved 2024-02-14.
- ^ "ELI5: Flow - Static Type Checker for JavaScript". developers.facebook.com. Retrieved 2024-02-14.
- ^ John, Kapantzakis. "Flow vs TypeScript: Which Is Better Suited For Your Next Project? | Scalable Path". Scalable Path. Retrieved 2024-02-14.
- ^ "Static Type Checking". Retrieved 18 January 2023.
- ^ "Network Dependents • facebook/flow". GitHub.
- ^ "Network Dependents • microsoft/TypeScript". GitHub.
- ^ "Flow: A Static Type Checker for JavaScript | Flow". Retrieved 11 January 2023.
- ^ "Objects | Flow". Retrieved 18 January 2023.
- ^ a b Zahariev, George (16 February 2023). "Exact object types by default, by default". Medium. Retrieved 11 January 2023.
- ^ Brzóska, Bazyli (2024-02-02), "niieani/typescript-vs-flowtype", GitHub, retrieved 2024-02-14
- ^ "Using Flow in WebStorm | The WebStorm Blog". The JetBrains Blog. 2016-11-21. Retrieved 2024-02-14.
- ^ Basil, Hosmer (18 February 2015). "Announcing Typecasts". Retrieved 18 January 2023.
- ^ Morrison, Jeff (18 February 2015). "Announcing Import Type". Retrieved 18 January 2023.
- ^ Rosenwasser, Daniel (20 February 2020). "Announcing TypeScript 3.8". Retrieved 18 January 2023.
- ^ Levi, Gabe (20 February 2015). "Announcing Flow Comments". Retrieved 18 January 2023.
- ^ Levi, Gabe (1 August 2016). "Windows Support is Here!". Retrieved 18 January 2023.
- ^ Vekris, Panagiotis (18 May 2020). "Types-First: A Scalable New Architecture for Flow". Medium. Retrieved 18 January 2023.
- ^ a b Bruno, Couriol (23 September 2021). "Flow Type Checker No Longer Just JavaScript with Types, Centers of Facebook Needs". Retrieved 18 January 2023.
- ^ Vekris, Panagiotis (25 May 2021). "Clarity on Flow's Direction and Open Source Engagement". Medium. Retrieved 18 January 2023.