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
Mosh-ヘンリー合同ギベンLT-MobXの感想.pdf
Search
TASUKU
March 18, 2025
1.3k
0
Share
Mosh-ヘンリー合同ギベンLT-MobXの感想.pdf
TASUKU
March 18, 2025
More Decks by TASUKU
See All by TASUKU
LT for making a goal
taskkawahara
1
320
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
Marketing to machines
jonoalderson
1
5.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
190
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Become a Pro
speakerdeck
PRO
31
5.9k
Transcript
Copyright © Henry, Inc. All rights reserved. MobXを導入されたメンバー視点 Redux, Jotaiと比較して
川原 祐 (@task-k0414) Mosh × ヘンリー合同技術勉強会
Copyright © Henry, Inc. All rights reserved. name: 川原 祐
(@task-k0414) job: Frontend Engineer team: EMR joined: 去年7月 hobby: - 娘(2歳) に遊ばれること - サ活 - 麻雀 - 社内大会でトップとりました! - キャンプ - 行けてない - ゲーム - モンハンやりたいとおもって... 自己紹介
Copyright © Henry, Inc. All rights reserved. 状態管理にMobXを 導入した話
Copyright © Henry, Inc. All rights reserved. 先日、弊社アーキテクトの @creasty がMobXを導入した話をテックブログに出
しました - https://dev.henry.jp/entry/mobx MobXを導入した話
Copyright © Henry, Inc. All rights reserved. MobXとは?
Copyright © Henry, Inc. All rights reserved. • シグナルベースの状態管理ライブラリで、関数型リアクティブプログラミン グを透過的に適用
• 「アプリケーションの状態から導出できるものは、自動的に導出されるべ き」という哲学 MobXとは?(概念)
Copyright © Henry, Inc. All rights reserved. • シンプルさ:ボイラープレートが少なく、直感的なコード記述が可能 •
最適なレンダリング:状態変更を自動的に追跡し、必要な時だけ再計算・再 レンダリング • アーキテクチャの自由度:特定のUIフレームワークに依存せず、アプリケー ション状態を管理可能 • 透過的な関数型リアクティブプログラミング(TFRP):グリッチフリー、同 期的、予測可能、効率的な実装 MobXとは?(特徴)
Copyright © Henry, Inc. All rights reserved. • シンプルさ:ボイラープレートが少なく、直感的なコード記述が可能 •
最適なレンダリング:状態変更を自動的に追跡し、必要な時だけ再計算・再 レンダリング • アーキテクチャの自由度:特定のUIフレームワークに依存せず、アプリケー ション状態を管理可能 • 透過的な関数型リアクティブプログラミング(TFRP):グリッチフリー、同 期的、予測可能、効率的な実装 MobXとは?(特徴)
Copyright © Henry, Inc. All rights reserved. • クラスベースで書けて、関数型プログラミングとオブジェクト指向のいいと こ取りできそうなライブラリ、という理解。
• 複雑なドメインをクラスベースで整理して書けそう。 MobXとは?(要するに)
Copyright © Henry, Inc. All rights reserved. 複雑なドメインを豊か に表現できる
Copyright © Henry, Inc. All rights reserved. クラスベースでドメインモデルを振る舞いまで集約して書ける カプセル化によって重要なビジネスロジックをドメインモデルに隠蔽できる 入れ子になっている複雑なドメインも直感的に実装できる
複雑なドメインを豊かに表現できる 医師の処方の指示 薬と用法などの 指示のブロック 医薬品とその成分量や 用法などの内容
Copyright © Henry, Inc. All rights reserved. 医師の処方の指示 薬と用法などの 指示のブロック
医薬品とその成分量や 用法などの内容 クラスベースでドメインモデルを振る舞いまで集約して書ける カプセル化によって重要なビジネスロジックをドメインモデルに隠蔽できる 入れ子になっている複雑なドメインも直感的に実装できる 複雑なドメインを豊かに表現できる 医師や患者の紐づ け 飲み合わせな どの禁忌 投薬日数 調剤の指示 医薬品の種類 成分量の算出
Copyright © Henry, Inc. All rights reserved. 他の状態管理ライブ ラリと比較して
Copyright © Henry, Inc. All rights reserved. 入れ子構造を持ったモデルを表現する(MobX Class)
Copyright © Henry, Inc. All rights reserved. Redux
Copyright © Henry, Inc. All rights reserved. Jotai
Copyright © Henry, Inc. All rights reserved. MobX vs Jotai
Copyright © Henry, Inc. All rights reserved. MobX vs Jotai
Copyright © Henry, Inc. All rights reserved. • オブジェクト指向の知識があれば理解しやすい •
デコレーターさえ受け入れられれば、すごく簡単にかける • リアクティブプログラミングの考え方に慣れる必要がある 比較してMobXのいいところ
Copyright © Henry, Inc. All rights reserved. • React Functional
Component は基本的にイミュータブルで単方向フローの データを要求している • MobXでは observer() を使って High-Order Component の形でリアクティ ビティを提供する • 暗黙的なところが辛くなることもありそう • Jotaiとかできっちり関数型ドメインモデリングできるとかっこいい! とはいえ,,,
Copyright © Henry, Inc. All rights reserved. • モデルに状態を持っているので、コンポーネント単位で複雑でない場合は ViewModelを噛まさずにDomain
Modelに直接書いている部分がある • ある程度整理しないと、Domain Model が境界を超えて肥大化するのでは • 暗黙的なところが辛くなる可能性はある。やめたくなったときにすんなりと いこうできるのか? • ある程度はクラスベースを維持しつつも不変性や単方向フローに寄らせるこ とはできそう 今後についての個人の感想
Copyright © Henry, Inc. All rights reserved. • 最近流行りの AI駆動開発だと、関数型、純粋関数に寄ったほうがよいので
は? • 実はコード量が少なく、文脈がある方がLLMもミスが少ない可能性 • 世の中のコードがOOPの方が多い説 おまけ
Copyright © Henry, Inc. All rights reserved. https://note.com/henry_app 会社ブログやってます We
are hiring!! https://henry.jp/ Thank you https://dev.henry.jp/ 技術ブログやってます