our wish to flowtype
TRANSCRIPT
![Page 1: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/1.jpg)
Our wish to Flowtype
@teppeis
React.js meetup #2 Sep 8, 2015
![Page 2: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/2.jpg)
Hello!• Teppei Sato, @teppeis
• Cybozu, Inc. / kintone
• Closure Compiler / TypeScript / Flowtype
![Page 3: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/3.jpg)
MUST BUY!
![Page 4: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/4.jpg)
![Page 5: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/5.jpg)
I've talked "Flowtype Introduction"
twice…
![Page 6: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/6.jpg)
![Page 7: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/7.jpg)
![Page 8: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/8.jpg)
Flowtype is awesome!
![Page 9: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/9.jpg)
Strong type inference
![Page 10: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/10.jpg)
React.js integration
![Page 11: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/11.jpg)
Check propTypes statically
![Page 12: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/12.jpg)
Flowtype is NOT a language
![Page 13: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/13.jpg)
Just a type checker (now :))
$ jstransform --strip-types
• Just strip types!
![Page 14: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/14.jpg)
Less original syntax
![Page 15: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/15.jpg)
Less original syntax
// type cast in Flowtype var strOrNull = (null: ?string);
// type cast in TypeScript var strOrNull = <string> null;
• Only type annotation with ":" • ECMAScript standard friendly
![Page 16: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/16.jpg)
Fast! Fast! Fast!
![Page 17: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/17.jpg)
Many Facebook repos using Flowtype are published
![Page 18: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/18.jpg)
Our Facebook made it!
![Page 19: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/19.jpg)
![Page 20: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/20.jpg)
after
![Page 21: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/21.jpg)
![Page 22: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/22.jpg)
Why?
![Page 23: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/23.jpg)
d.ts is not supported yet
![Page 24: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/24.jpg)
![Page 25: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/25.jpg)
![Page 26: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/26.jpg)
Not friendly with npm
![Page 27: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/27.jpg)
![Page 28: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/28.jpg)
![Page 29: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/29.jpg)
![Page 30: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/30.jpg)
![Page 31: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/31.jpg)
![Page 32: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/32.jpg)
![Page 33: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/33.jpg)
Incomplete documentation Many pitfalls…
![Page 34: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/34.jpg)
Hard to contribute…
![Page 35: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/35.jpg)
![Page 36: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/36.jpg)
I wait eagerly Flowtype!
![Page 37: Our wish to Flowtype](https://reader034.vdocuments.us/reader034/viewer/2022042706/5882a3d41a28ab92618b6907/html5/thumbnails/37.jpg)
Thanks!