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
1
670
TypeScript vs Flow
An overview of 2 of the most popular type checking tools in the JavaScript ecosystem
Craig Bruce
November 26, 2015
Tweet
Share
Other Decks in Technology
See All in Technology
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
73k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
270
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
290
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
870
Tebiki Engineering Team Deck
tebiki
0
24k
なぜ今、コスト最適化(倹約)が必要なのか? ~AWSでのコスト最適化の進め方「目的編」~
htan
1
110
変化するコーディングエージェントとの現実的な付き合い方 〜Cursor安定択説と、ツールに依存しない「資産」〜
empitsu
4
1.3k
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.2k
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.7k
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
430
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
180
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Mind Mapping
helmedeiros
PRO
0
78
The browser strikes back
jonoalderson
0
360
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
310
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
97
GitHub's CSS Performance
jonrohan
1032
470k
A designer walks into a library…
pauljervisheath
210
24k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Navigating Team Friction
lara
192
16k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
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/