Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
React + Fluxを実践投入してみて
Search
pakkun / oneut
October 23, 2017
Technology
0
1k
React + Fluxを実践投入してみて
社内LT(2017/10/6)
pakkun / oneut
October 23, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
130
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
120
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.6k
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
160
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
380
Cosmos World Foundation Model Platform for Physical AI
takmin
0
960
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
240
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
170
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Abbi's Birthday
coloredviolet
1
4.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
The agentic SEO stack - context over prompts
schlessera
0
640
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
77
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Balancing Empowerment & Direction
lara
5
890
Thoughts on Productivity
jonyablonski
74
5k
Transcript
React + Fluxを 実践投入してみて @pakkun
やっていること
オールアバウトの基幹システ ムである記事生成ツール (CMS)のリプレイス
None
アジェンダ
アジェンダ よかったこと 大変だったこと 開発を楽にするためにやったこと やっておけばよかったこと
教訓 まとめ
React + Fluxで作った機能数 ※flux-utilsを使用
19機能
よかったこと
Virtual DOMが提供する一方通行のフローによ り、サーバサイドと似た構造にできる コードをシンプルに書ける Immutable.jsを使うとさらに楽
VirtualDOMが提供する 一方通行のフロー
None
サーバサイドで考えるなら
None
コードがシンプルに書ける
None
Immutable.jsを使うとさらに楽
None
React + Fluxで 大変だったこと
Examplesが難しい jQueryとの共存がしづらい Fluxの学習コストが高い 良くも悪くもコンポーネント指向 LaravelやRailsのようなフルスタックフレー
ムワークと合わせて使うと中途半端になりや すい ライセンスに問題があった
Examplesが難しい
綺麗に構造化されているexamplesが少な い・・・ flux/examples ActionCreator、Actionが明確に分かれていないなど・・・
jQueryとの共存がしづらい
VirtualDOMに任せる必要があるので、直接 DOMを更新しづらい ※jQueryをなるべく使わない強い意志が必要
Fluxの学習コストが高い
CQRS(コマンドとクエリの責務分離)がわ かっていないとしんどい ※CQRSに関しては、CQS(コマンドとクエリの分離原則)とDDD(ドメイン駆 動設計)を知るのが早い
良くも悪くも コンポーネント指向
ライブラリを組み合わせてフレームワークを 構築できる程度の知識が必要 ※サーバサイドで置き換えると、React(View)、Flux(Controller、 Service)、Immutable.js( Repository 、Factory、Entity) 日頃からGithub Trendsを追いかけて使えそ
うなものを探しておく必要がある ※awesome-reactを見ておくと良い
LaravelやRailsのようなフルス タックフレームワークと合わせ て使うと中途半端になりやすい
Node.jsで完結できないのでつらい react-scriptsが使えない Hot Module Replacement(HMR)が難しい Webpackの知識が必要になってくる
ライセンスに問題があった
FacebookのOSSには特許に関するライセン スが付与されている問題があったが、 Apacheが本格的に使用をやめたことにより、 結果的にはMITライセンスになった。ライセ ンス周り大事。
React + Fluxでの開発を楽にす るためにやったこと
開発環境のDocker化(Node入り) Webpackでファイルの自動トランスパイル化 ESLintでの構文チェック React + Flux勉強会(6時間)
-> QiitaのAPIを使用してのハンズオン Boilerplateの作成
やっておけばよかったこと
flux-utilsのAPIコールはviewより ActionCreatorが良い
まとめ
Reactは玄人向け コストは高いけど秩序が保たれた 誰が書いても同じようなコードにしやすい 一度作れれば高速に実装できる イージーではなくシンプルに実装できる
導入してよかった!!
最後に
JavaScriptはHTML、CSSを操作する ために後から実装された機能で、リッチ なUIを提供することを目的としている
Virtual DOMによって HTML・CSS > JavaScript の構造を逆転できるようになり、 JavaScript > HTML・CSS で管理できるようなった
それは、JavaScript上でHTML、CSS を組み込んでアプリケーションが実行で きるということ
つまり、Android Java、Swiftのよう な開発ができるようになったということ と同義
Virtual DOMはフロントエンドの世界 にパラダイムシフトを起こした
ご清聴ありがとうございました。 明日から Let’s VirtualDOM+ Flux!