Flow, du strong, static typing pour JavaScript

Flow, du strong, static typing pour JavaScript

Présentation de Flow et de ses capacités en matière de type-checking

37500337ba5d2aebc962959ed83928e5?s=128

Matthias Le Brun

May 25, 2016
Tweet

Transcript

  1. Flow du strong, static typing pour JavaScript

  2. Matthias Le Brun @bloodyowl Lead front end developer @ BeOpinion

    Putain de code
  3. None
  4. Node Element

  5. JavaScript • undefined is not a function • TypeError: Cannot

    read property "bar" of undefined • "undefined commentaires" • "You have [object Object] messages" • TypeError: TypeError • ReferenceError: Can't find variable: foo • NaN
  6. JavaScript Weakly typed

  7. JavaScript Dynamically typed

  8. JavaScript …

  9. «Workarounds» On peut documenter

  10. «Workarounds» On peut vérifier les types au runtime

  11. «Workarounds» On peut «ignorer» les soucis ¯\_(ϑ)_/¯

  12. None
  13. None
  14. Flow A static type checker for JavaScript

  15. None
  16. None
  17. Flow Détecte les incompatibilités

  18. Flow Détecte les incompatibilités

  19. Flow Permet d'annoter son code

  20. Flow

  21. Flow Comprend les built-ins

  22. Flow Aliases

  23. Flow Aliases

  24. Flow Generics

  25. Flow Generics

  26. Flow Interfaces

  27. Flow + React

  28. Transformer en JS valide

  29. Flow Peut fonctionner sans transformation

  30. Flow Code externe

  31. TypeScript • Différences de syntaxe mineures • Flow commence à

    fonctionner sans annotations et s'intègre mieux à un projet existant • TypeScript n'analyse pas les call-sites
  32. Merci Questions ? Matthias Le Brun @bloodyowl