タグ

flowに関するkomlowのブックマーク (8)

  • Flow導入して数ヶ月がたった所感 - tomoima525's blog

    ReactNativeプロジェクトで、型がないことによるつらいシーンが多くなり(特に変数の解釈に起因するバグ)、Facebook製の静的型解析ツールであるFlowを数ヶ月前に導入しました。導入時の学びと、しばらく運用して感じていることについて個人的な感想を書きました。 Flow選定理由 Javascriptで静的な型付けをするといえばTypeScript(正確にはJavascriptのスーパーセット)がありますが、プロジェクト途中からの導入しやすさの観点からFlowにしました。Flowはお作法(行頭に @flow つける等)さえ押さえれば誰でも使えることから導入障壁はだいぶ低いといえます。導入のメリットについては以下のスライドがとてもわかりやすいです。 speakerdeck.com flow status でプロジェクトに対して静的型解析を走らせることもできますが、 コーディング時にワー

    Flow導入して数ヶ月がたった所感 - tomoima525's blog
  • 真・Flow & Redux で Reducer の実装パターンを考える - Qiita

    4ヶ月ほど前、 Flow & Redux で Reducer の実装パターンを考える という記事を書いたが、 reducer を型付けするという目的は達しているものの、明らかに記述量が増えて冗長だという問題があった。 ところでこういう記事を見つけた。 これを flow 向けに書き直した、というかセマンティクスが一緒だったので、そのまま動いたのだが、これを自分向けに書き直したらとてもいい感じになった. flow は v0.54.1 コード // @flow type __ReturnType<B, F: (...any) => B> = B type $ReturnType<F> = __ReturnType<*, F> // Actions const INCREMENT = 'counter/increment' const ADD = 'counter/add' export func

    真・Flow & Redux で Reducer の実装パターンを考える - Qiita
  • flowの型情報をnpmパッケージで一緒に配布する - Qiita

    TL;DR; flow 0.19.0 から .js.flow 拡張子がついたファイルがあればそれを見るようになった npm パッケージでは型情報を消した .js ファイルと、型情報を持った .js.flow ファイルを一緒に配布する 将来的に flow に特大の後方非互換な変更が入らない限り動くはず npmパッケージも型情報を使いたい 開発時に型情報を書いても、いざ配布するときにはそれを取り外してから配布する。取り外さないと、 flow を使っていないプロジェクトで require することが困難になってしまうためだ。 しかし、そのパッケージを使うときには flow を使いたい。flowtype/flow-typed に自分のライブラリの情報を載せるのが一つの手だが、開発段階で実装が流動的だと更新が面倒なのに加えて、そもそも DRY ではない。 せっかく開発時に書いた型情報を、 npm

    flowの型情報をnpmパッケージで一緒に配布する - Qiita
  • Flowtype導入のための指針・実際の運用について - Qiita

    このドキュメントの目的 自分は趣味でFlowをずっと使っていて、またプロダクションでも今まで3プロジェクトほどにFlowを導入した。その知見。 「Flow は便利そうだけど、怖い」「いれてみたら色々ハマったからクソ」「わからん、なにもかも…」という人に対し、自分がいままで出くわしたパターンや、聞かれた疑問について、メジャーな解法を提示する。 なぜFlowを導入するか Babel から段階的に導入することが出来る React の JSX にも推論を入れることができる 部分的に適用できる ASTがES準拠であり、ESLintなどがツールが使える(TSは独自AST) それ自身ランタイムに全く影響はないので落とすのも簡単 実際にはReactと一緒に使うのが、エコシステムもユースケースも揃っていて、一番効果を発揮するだろう。それか、小さい npm モジュールを自分で書くとき。 型のメリット/デメリッ

    Flowtype導入のための指針・実際の運用について - Qiita
  • FlowとjQueryをあわせて使うときいろいろハマった - hitode909の日記

    新しく書くコードにはflowtypeで型をつけたり,既存のコードにもちょっとずつ型をつけたりしている. jQueryのオブジェクトを引数として受け取るときに型をつけるのが難しくて,しばらくハマっていた.けどできた. flow-typedにない 探してみるとなくて,typoしてないか3回くらい見た % $(yarn bin)/flow-typed search jquery No definitions found, sorry! flow-typedにはなくて,iflow-jqueryとしてnpmで公開されている https://github.com/marudor/flowInterfaces flow-typedに移行される予定はあるとのこと npmに上がってるiflow-jqueryが古い JQueryAjaxSettingsがinterfaceになる変更がnpmに上がってる版には入

    FlowとjQueryをあわせて使うときいろいろハマった - hitode909の日記
  • Facebook Flowの初見の感想 - Qiita

    mizchi君の記事を見て、だいぶ感想が違ったので書くことにした。 なお、僕はTypeScript信者であることを踏まえてこの記事を読んでほしい。 あと、最初はまじめに記事にしようと思ったけどダルくなってきたのでメモをそのまま投げる。 TypeScriptより良い型推論 Flowパイセンの一番偉いところはTypeScriptより型推論が強いところだと思った。# /* @flow */ function foo(x) { return x * 10; } foo('Hello, world!'); 関数foo内部のxは、* 演算子を利用しているのでnumberであると推論している。 これが実際の利用箇所でstringを引数にしているので怒ってくれるわけだ。偉いな! Flow is a static type checkerと謳っているとおり、完全にpure JavaScriptで書かれている

    Facebook Flowの初見の感想 - Qiita
  • facebook/flowファーストインプレッション - Qiita

    前々から出すよ出すよ詐欺してたflowがやっと出た。大雑把にはfacebook製のTypeScriptだと思っていれば良いです。 まだnpmで提供されてなくて、 Flow | Getting started with Flow で実行バイナリが配られてる。 npmで提供されてない理由は、たぶんocamlで書かれてるから。Future Planにjs_of_ocamlでコンパイルされたものが提供されると書いてあった。 DLして適当なパス通った場所に置いてつかう。 TypeScriptとの比較 思想はTypeScriptと同じなので、大枠は一緒だといってよい。 ぱっと見気になったのは、Nullableの書式が違うのとかあるけど、もっと大きな違いもたくさんある。 FlowとTypeScriptにあるもの declareキーワードによるアノテーション ES6 classes Generics ここ

    facebook/flowファーストインプレッション - Qiita
  • Flow | A static type checker for JavaScript

    Code Faster.Tired of having to run your code to find bugs? Flow identifies problems as you code. Stop wasting your time guessing and checking. Code Smarter.It's hard to build smart tools for dynamic languages like JavaScript. Flow understands your code and makes its knowledge available, enabling other smart tools to be built on top of Flow. Code Confidently.Making major changes to large codebases

    Flow | A static type checker for JavaScript
  • 1