こんにちは。VirtualDOM Advent Calendar 15日目のdekokunです。
14日目はtomato360さんの「React.jsのチュートリアルを触る」でした。私はまだチュートリアルすら触っていないのにこの記事を書いていて、こいつ終わってんな感出ています。
現状説明
さて、私は15日目の担当だったんですが、それを成し遂げることができませんでした。
私の後回し精神によって後回されたAdvent Calendarタスクがインフルエンザによって潰された形です。すみませんとしか言い様がない。
インフルエンザの消滅を待って正式に記事を書くため一旦タイトルには「草稿」とつけさせてもらってます。
2014/12/18 インフルエンザは完治し、Reactのチュートリアルが終わりました。めでたい。
2014/12/20 考えれば考える程、以下書いてあることは「で、だからどうしたの?」以外の何物でもない感じあったため、別のブログを書きました。
PHPでReact.jsのサーバサイドレンダリング
書こうとしていたことを箇条書きに
- ここ1年くらいずっとサーバサイドでAPI作ったりしてきた私ですが、5ヶ月ほど前から人生初のブラウザサイドJS経験として仕事でBackbone.Marionetteを使用してゲームを作っている
- 現在のDOM状態からの差分を書くスタイルはいろいろ厳しいと感じており、ViewModel的なやつ(Presenterって言ったりするの?)が完全に今のDOMの状態を反映しているようにしたい(ViewModelの現在の状態があればDOM構築が完了できるようにしたい)
- 具体的にはViewModel的なやつのattributeの変化でViewが
change: this.render
するような感じにして - 上記の問題点は、1つ1つのViewがでかいと毎回その中のDOMの総書き換えが走ってしまうために、速度に気を配るアプリには厳しい
- 回避策として、一つ一つのView及びViewModel的なやつを「View側に変更がある単位一つ一つに対して」ひたすら切り刻んでいくというのがあるが、なんか面倒、というか、サーバサイドプログラミングの時も感じていたが、「性能のために努力が強いられる」というのはあまり望ましくない状態であると私は感じている。人間は易きに流れるものである
- 具体的にはViewModel的なやつのattributeの変化でViewが
- VirtualDOMで上記解決?こういう理解でいいの?
まとめ
インフルエンザ、怖いです。39度の熱が出ます。最近かかってなかったんで、39度の恐ろしさを忘れていました。怖い。
現在は38度くらいです。皆さんも、気をつけましょう。っていうか、少しでもかかった気配を感じたら会社休みましょう。