Editor's Notes
- facebook産 UIライブラリ フレームワークじゃない MVCでいうビューの機能を持つ
facebookやinstagramはもちろん、Yahoo、atomでも使われている
リアクティブプログラミングとは、「反応する側」と「認識する側」を分けて考え、反応に対して自動的に対応するという考え方です。
React.jsの説明では、必ずツリー構造の図が出てきます。ある要素が変更されたら、一方向の流れで、関係する要素も変更されるというものを表しています。
- facebook は 以上の3つをreactの特徴としてあげている
- component志向のMVCはおおい
Component作るだけなので覚えることも少ないので導入もしやすいかと思います。
(Backbone.jsのViewの部分をReact.jsにするとか、Angular.jsでReact.jsを使ったdirectives作るとか。)
- ルートのコンポーネントだけで状態を持ち、その状態が変更したらツリーを再構築するというのは、非常に設計を単純にしますが、一部分の変更だけで毎回全てのDOMツリーを再構築するのは速度的な面で問題になります。そのため、差分を抽出してDOMへのレンダリングを最小限にする仕組み
- ルートのコンポーネントだけで状態を持ち、その状態が変更したらツリーを再構築するというのは、非常に設計を単純にしますが、一部分の変更だけで毎回全てのDOMツリーを再構築するのは速度的な面で問題になります。そのため、差分を抽出してDOMへのレンダリングを最小限にする仕組み
- アプリケーションのデータを管理しているComponentがいて、そのデータを子のComponentに渡していく一方向な関係性を持っているので、コードが読みやすい
次のスライドー>htmlはグローバルでどこからでも操作できる。
- ただし、書くコードが短くなるわけではない
1度書かれたコードは10回読まれるといわれている
- ただし、書くコードが短くなるわけではない
1度書かれたコードは10回読まれるといわれている
次ー>demo
- アプリケーションのデータを管理しているComponentがいて、そのデータを子のComponentに渡していく一方向な関係性を持っているので、コードが読みやすい
ただし、書くコードが短くなるわけではない
1度書かれたコードは10回読まれるといわれている
- jQueryやBackbone.js、Angular.jsは規模が大きくなったときに管理するのが難しい。
逆に、React.jsは小さいアプリケーションを高速に開発するためのライブラリではないと言われています。
ブラウザがhtml5に対応していることが条件。古いブラウザはPolyfills
- htmlとjsが混同するため、jsが読めないとだめ。デザイナーさんコーダーさん一緒にやるときは要注意
がんばればライブラリ使える
- flux概念の名前 MVCてきな