※なぜか限定公開になっていたので公開
React.jsの勉強熱を上げるためにReact.js Meetupに行ってきました。
イベントページはこちら
http://eventdots.jp/event/568979
http://reactjs-meetup.connpass.com/event/19504/
会場について
最近オープンしたdots.が会場でした。
初めて行きましたがかなり広くて、中央ステージ(に使えるひな壇)に正対して聴講者用のひな壇がある構成が良い感じでした。
あと、ソファー席?がたくさんあってセミナー会場というよりもラウンジという表現の方が似合う感じ。
講演について
当日の資料はこちら
http://reactjs-meetup.connpass.com/event/19504/presentation/
React v0.14について(@koba04さん)
v0.14はまだBETA3で近日中にRC版が出るはず。
v0.14で使えるようになる機能、使えるようになるけどまだこれからな機能などの紹介。
詳しくは発表資料参照。
今まで使われていたreact-toolsがdeprecatedになり、babelが使われるようになりました。
(v0.14から、というわけではなく現時点でもbabelでやるのがいいらしい)
v0.15はそれほど間をおかずにリリース予定。
Flowtypeについて(@kelemen_viktorさん)
Viktor KelemenさんはFacebookの中の人。
flowtypeというfacebook製のシンタックスシュガーのようなツールの紹介。
JavaScriptにおける型がない、とかNullチェックめんどいとか、を解決するツール。MicrosoftのTypeScriptに近いっぽい。
Babelを買収したので、BabelとFlowtypeの親和性を高めてES2016にもコミットしていくことで標準化を目指す、みたいなことを言っていた。
ちなみにLT枠で発表していた @teppeisさんに「いうても型チェックツールだし、サードパーティライブラリとの互換性にも課題あるけどな」と斬られていました。
Introduction to Redux(@axrossさん)
Gunosyの中の人に最近なったらしい。
React(view)と併せて使うFlux(Controller) FrameworkのReduxの紹介。
Fluxの中でも各オブジェクトの「状態管理」に重きを置いたフレームワーク。
- ツリー構造で表現された各状態Stateに対してReducerという層を用意する。
- 画面(view)からイベントを受け取ると全Reducerに通知される。
- Reducerは自分が反応する必要があるかどうか判断。条件に合致すればStateを更新する。
- 画面(view)は状態ツリーを定期的に読みに行き、変更点があれば差分を更新する。
このあたりはいわゆるVirtualDOMの特徴
なお、2でのイベント通知内容に対してMiddlewareという層で通知の操作が可能(ロギング、バリデーション、認証……など)
別にReactと併せて使うことは必須ではない。AngularJS用のng-reduxもある。
Reactやフロントエンドの文脈の中だけではなく、アプリケーションの根源的な課題である「状態の管理」を解決しようとしている。
LTについて
LT枠では「ReactComponentのコンストラクタを追いかけて」というタイトルで話をされたFringe81の@jshosomiti (JSほそ道)さんのスライドが面白かったです。
React(というよりjsx)のReactElementをごにょごにょしてHTMLElementにしていくところを、ソースを読み解くことで初学者に正しく説明できるようにする、というテーマでした。
詳細はスライドにて。
https://speakerdeck.com/hosomichi/reactcomponentfalsekonsutorakutawozhui-ikakete