React.js meetup #1 に参加してきた。
参加者枠を大きく上回る応募のあった超人気イベントだったけど、@koba04さんにReact.jsのこと色々おしえていただいた縁もありLT枠で出させていただいた。
- slide: http://sugyan.com/presentations/reactjs-meetup-1/
- 成果物: https://idol-event-calendar.herokuapp.com/
- repository: https://github.com/sugyan/idol-event-calendar
初心者がRailsとReactを同時に勉強し始めたけど結構つらかった、という話。
とりあえず今回のLTまでにある程度の形まで持っていかなきゃ、と必死になったおかげでそこそこ頑張れたのでよかったw (LT駆動開発?)
他の方々の発表はどれもとても勉強になる内容で、聴けてよかった。
懇親会での@teppeisさんのFlowtypeの話、@koba04さんのライブコーディングもとても面白かった。
React.js、思っていた以上に多くの人たちが関心を持っているようだったし まだまだ勉強すべきことも多くて これからも注目していきたいなと思いました。
ありがとうございました!
自分メモ
- React 概論 (@naoya_itoさん)
- Reactの起源、思想
- 「Viewを宣言的に記述」というのがポイント
- 宣言されている通りにViewを全更新する、という中で実現手段としてのVirtual DOM
- コンポーネント指向、データフローが明確、というところ重要なので意識しよう
- 生産性というより可読性、保守性などを向上させるもの
- react-rails (@hokacchaさん)
- 10分で実装するFlux (@azu_reさん)
- Store, Action, Component, ...
- StackTraceで一方通行なデータの流れを確認できる
- Flux理解するのは実装してみるのがいいよ!
- mercury/mithril.js (@yosuke_furukawaさん)
- Reactより速いらしいmercury/mithrilとは何なのか
- 差分描画のアルゴリズム
- mithril: 再描画の計算回数を力技で減らす
- ネストされた非同期処理など最終タイミングだけ描画、というかんじ
- 逐次的に再描画させたい場合は明示的に呼ぶ
- mercury: VDOM treeの探索範囲を減らす
- まとめ: Reactの性能に不満があればこのへんも試してみる価値あるかも
- React/FluxでSPAを開発してぶちあたった問題 (@mizchiさん)
- まずrealtimeでMarkdownからプレゼンにするツール紹介
- 設計で直面した問題の数々
- dangerouslySetHTMLでリアルタイムプレビューしていてブラウザが固まる
- 結局自分でmd->React Elementにするものを開発した
- その他にもパフォーマンス的な問題
- componentWillUpdateでキャッシュ操作
- JSXがJS寄りすぎてデザイナとの連携がつらかった
- テンプレートエンジンも作ってしまった
LTはメモる余裕なかった
参照
- React概論 // Speaker Deck
- react-rails // Speaker Deck
- 10分で実装するFlux
- mercury/mithril.js // Speaker Deck
- react-problems.md · GitHub
- Java + React.jsでSever Side Rendering #reactjs_meetup
- Rapid React Prototyping : React.jsでUIデザインプロトタイプを作る // Speaker Deck
- Flowtype Introduction
- React.js meetup 1 #reactjs_meetup (2015/4/24)まとめ - Togetterまとめ