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
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
120
OpenShiftでllm-dを動かそう!
jpishikawa
0
130
AI駆動開発を事業のコアに置く
tasukuonizawa
1
340
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Red Hat OpenStack Services on OpenShift
tamemiya
0
130
15 years with Rails and DDD (AI Edition)
andrzejkrzywda
0
200
20260204_Midosuji_Tech
takuyay0ne
1
160
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Typedesign – Prime Four
hannesfritz
42
2.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
93
Visualization
eitanlees
150
17k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
57
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Between Models and Reality
mayunak
1
190
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Side Projects
sachag
455
43k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
76
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!