Facebook製リアクティブプログラミングライブラリ React を試してみた + 感想
これ facebook/react https://github.com/facebook/react
使ってみる
サンプルそぎ落として、最小構成で組んでみた
モジュール定義 -> 引数をJavaScriptで受け取って処理 -> renderという流れ。jsxという拡張子はjavascriptにxmlリテラルを追加したものっぽい。(この拡張子かぶりすぎてるので本当にやめてほしい)
render毎にDOM構築してるから激しくパフォーマンス悪いのでは… と思ったら次のような記事があった。
Performance Calendar » React’s diff algorithm http://calendar.perfplanet.com/2013/diff/
どうも毎回innerHTMLで突っ込むんじゃなくて、既にrender済みのものはスキップして最適化している模様。生テキスト => DOMの変換を気にしなくても良いようだ。。
雑感
GoogleのPolymerに対抗したWebComponent実装例のようにみえる。
Welcome - Polymer http://www.polymer-project.org/
WebComponent実装してみよう -> しかし文字列とDOM変換コストが現実的ではない -> じゃあ独自記法の上に賢いdiffアルゴリズム載せて最適化しよう!みたいなライブラリにみえる。
このdiffアルゴリズムが売りで、独自記法ってところが筋悪っぽい。こんなの入れたら絶対標準化できないじゃん…。
正直これ単独だといかんともしがたい感が高い。おそらくFacebookとしてはこの上に築かれるライブラリに期待しているんだろうが、既にReact自体が巨大なのでなんともより難い雰囲気がある。独自のロックインも多いし…