Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TypeScript vs Flow
Search
Craig Bruce
November 26, 2015
Technology
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeScript vs Flow
An overview of 2 of the most popular type checking tools in the JavaScript ecosystem
Craig Bruce
November 26, 2015
Other Decks in Technology
See All in Technology
QAタスクをスキル化したいときに考えること
aomoriringo
0
120
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
4
1.1k
人依存からAIネイティブの体制へ:バックエンド開発の裏側【SORACOM Discovery 2026】
soracom
PRO
0
120
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
29
23k
A Bag-of-Documents Model for Query Specificity
dtunkelang
0
140
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
330
書籍セキュアAPIについて
riiimparm
0
370
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
31
18k
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.2k
カメラ×AIで挑む「ホワイト物流」― 車両管理、自動化の壁と突破口【SORACOM Discovery 2026】
soracom
PRO
0
170
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
160
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
240
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
470
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Believing is Seeing
oripsolob
1
170
Building the Perfect Custom Keyboard
takai
2
820
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
Making Projects Easy
brettharned
120
6.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
TYPE CHECKING TypeScript vs Flow
JAVASCRIPT TOOLING IS NOT NEW
MINIFICATION
STATIC ANALYSIS
LINTERS
TRANSPILERS (COFFEES#!T)
THE BLURB
TYPESCRIPT “A TYPED SUPERSET OF JAVASCRIPT THAT COMPILES TO PLAIN
JAVASCRIPT”
FLOW “ADDS STATIC TYPING TO JAVASCRIPT TO IMPROVE DEVELOPER PRODUCTIVITY
AND CODE QUALITY”
BOTH HAVE SAME GOALS
BACKGROUND - FLOW
FACEBOOK CREATED REACT
CODE BASE & TEAM GETTING LARGE - BUGS CREEPING IN
LOOKED AT CLOSURE COMPILER BUT REQUIRED “TOO MUCH CARE”
LOOKED AT TYPESCRIPT BUT REQUIRED “DEVS TO DO JS DIFFERENTLY”
WRITTEN IN OCAML
BACKGROUND-TYPESCRIPT
MICROSOFT WANTED TO ADDRESS JAVASCRIPT’S SHORTCOMINGS FOR LARGE PROJECTS
THEY ALSO WANTED TO BRING FUTURE ES6/7 PROPOSALS FORWARD
AND GIVE JAVASCRIPT FIRST CLASS TOOLING SUPPORT FOR EDITORS
STRONG UPTAKE - EVEN ANGULAR 2.0 IS WRITTEN IN TYPESCRIPT
google —microsoft
WHY DO WE CARE?
TYPES CAN BE YOUR FRIEND
TYPES CAN SERVE AS DOCUMENTATION FOR FUNCTIONS
THE COMPILER IS YOUR FIRST UNIT TEST
TOOLING CAN AID PRODUCTIVITY
NOT EVERYONE AGREES
“ I think that JavaScript's loose typing is one of
its best features and that type checking is way overrated. TypeScript adds sweetness, but at a price. It is not a price I am willing to pay -Douglas Crockford
“ A word of warning Making previously-untyped code typecheck with
Flow may take some time and work - and sometimes it may not be worth the effort in the short term -facebook
None
YOU CAN STILL DO DYNAMIC JAVASCRIPT don’t panic
SYNTAX
TYPE ANNOTATIONS
TYPE ANNOTATIONS
None
ARRAYS
None
ENUMS
None
INTERFACES
INTERFACES
INTERFACES
INTERFACES
UNION TYPES
UNION TYPES
GENERICS
`
`
WORKING WITH 3RD PARTY LIBRARIES
TYPESCRIPT - .D.TS FILES FLOW - ‘INTERFACE’ FILES
None
None
ALTERNATIVELY
HTTP://DEFINITELYTYPED.ORG/
REACT
TYPESCRIPT - .TSX FILES FLOW - OOTB
None
None
TOOLING
TYPESCRIPT HAS RICH EDITOR SUPPORT
FLOW HAS LIMITED SUPPORT - ATOM NUCLIDE
THE FUTURE
TYPESCRIPT - ASYNC/AWAIT AND LOTS OF ES2016 FEATURES https://github.com/Microsoft/TypeScript/wiki/roadmap
FLOW - CONVERT TYPESCRIPT .D.TS BETTER IDE SUPPORT MOVE FROM
OCAML TO JS http://flowtype.org/docs/coming-soon.html#_
ALTERNATIVES
ELM PURESCRIPT http://elm-lang.org/ http://www.purescript.org/