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
980
React + Fluxを実践投入してみて
社内LT(2017/10/6)
pakkun / oneut
October 23, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
78k
Git in Team
kawaguti
PRO
2
170
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
150
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
230
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
スタートアップにおけるこれからの「データ整備」
shomaekawa
1
270
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.8k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
150
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
620
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
420
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
600
BirdCLEF+2025 Noir 5位解法紹介
myso
0
210
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Optimizing for Happiness
mojombo
379
70k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Applications with DynamoDB
mza
96
6.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Scaling GitHub
holman
463
140k
Statistics for Hackers
jakevdp
799
220k
Gamification - CAS2011
davidbonilla
81
5.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!