Qu'est-ce que Flow
Flow est un vérificateur de types statiques pour JavaScript créé par Meta (Facebook). Contrairement à TypeScript qui est un langage distinct, Flow ajoute des annotations de type au JavaScript existant. Il est utilisé dans certains projets React, notamment au sein de Meta, mais TypeScript domine désormais le marché.
Syntaxe Flow
// @flow
Directive en haut du fichier pour activer la vérification Flow.
Types annotations
function greet(name: string): string : syntaxe similaire à TypeScript.
type alias
type User = { name: string, age: number } pour définir des types custom.
Opaque types
opaque type ID = string : types opaques pour l'encapsulation.
Flow vs TypeScript
- Syntaxe : Très similaire, la plupart du code est interchangeable
- Adoption : TypeScript domine largement aujourd'hui
- Outillage : TypeScript a un meilleur écosystème IDE
- Migration : flow-to-ts facilite la conversion vers TypeScript