13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Flowとは ~はじめてのfacebook/flow~

Last updated at Posted at 2014-11-19

@mizchiさんの facebook/flowファーストインプレッション

大雑把にはfacebook製のTypeScriptだと思っていれば良いです。

があまりしっくりこなかったので、 公式About を読んでみた。(誤訳あったらすみません。)

Flowとは(ざっくり)

  • JSのための static type checker
  • JSファイルの冒頭に /* @flow */ を挿入することで型チェック(あるいは、同時にコンバート)が働くようになる。
  • 逆に言うと、 /* @flow */ が無いファイルは無視される。
  • 初回はコードベース内の全ファイルに対して解析を行い、その後は バックグラウンドで それらのファイル(と依存関係にあるもの)の変更を監視して型チェックする。
  • チェックの結果はサーバに蓄積されており、クエリが発行された際に即座に利用できる。
  • 故に開発者はコンパイルの遅延を感じなくて済む。

公式の結び

  • 「まだめっちゃWIPだからみんな力を貸してね!簡単かつ安全にJSの変換と最適化ができる環境を提供したいなって思ってるから。」

(余談)Flowにファイル変更を監視させるには

  • flow start でバックグラウンドでサーバ起動
  • flow でサーバに蓄積されている型チェックの結果を取得
  • flow stop でサーバを停止

所感

  • 個人的にはAltJSという位置づけより、やはり「static type checker」として使ってみたいなと思うのであった。
13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?