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
XStateでReactに秩序を与えたい
Search
gizm000
September 06, 2024
Programming
0
770
XStateでReactに秩序を与えたい
gizm000
September 06, 2024
Tweet
Share
More Decks by gizm000
See All by gizm000
NestJSを実運用してみて.pdf
gizm000
1
57
営業製作所_採用ピッチ資料_202407
gizm000
1
660
React_TypeScript_LT.pdf
gizm000
0
110
もう、例外投げたくないねん neverthrow
gizm000
1
310
サーバーサイドもTSにしたらモノレポになった.pdf
gizm000
2
120
レガシー業界を乗り越える
gizm000
1
24
Other Decks in Programming
See All in Programming
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
240
AWS認定資格を受験するにあたり、気づいたこと・実践していたことのまとめ
satoshi256kbyte
1
120
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
250
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
4
93k
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
150
Micro Frontends Unmasked: Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
250
Делим тесты между QA и разработчиком
mariyasaygina
0
470
RDBの世界をぬりかえていくモデルグラフDB〜truncus graphによるモデルファースト開発〜
jurabi
0
150
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
1.1k
推しの夫に恋のGPS「ときメーター」#M5Stack #IoT #M5JPTour2024
riyu
0
220
WEBアプリケーションにおけるAWS Lambdaを用いた大規模な非同期処理の実践
delhi09
PRO
7
3.7k
自分だけの世界を創るクリエイティブコーディング / Creative Coding: Creating Your Own World
chobishiba
1
130
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Speed Design
sergeychernyshev
22
460
Producing Creativity
orderedlist
PRO
341
39k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
38
2.1k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
158
15k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
4k
Building an army of robots
kneath
302
42k
Teambox: Starting and Learning
jrom
131
8.7k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
109
6.9k
Practical Orchestrator
shlominoach
185
10k
Transcript
Reactに秩序が欲しい – XState – 営業製作所 白石 卓馬
会社紹介:営業製作所 ・設立 2020年4月 ・本社 大阪 (肥後橋駅 徒歩3分) ・従業員数 約150名 (2024年4月時点)
・目的 日本の製造業を支える ・特徴 泥臭い中にこそ本質がある
自己紹介 ・なまえ 白石 卓馬 (gizm000) ・出身地 大阪 ・職種 ソフトウェアエンジニア ・経歴
SIer → 受託 → SaaS
営業製作所のざっくり技術スタック ・フロントエンド:Next.js ・サーバーサイド:NestJS ・IaC:Terraform (CDKじゃないヨ) 業務で使う 80 98%以上がTypeScript
Reactが 好き / 嫌い
Reactが 好き / 嫌い
なぜReactは 嫌われるのか? ※ 私は嫌いじゃないです
自由度が高すぎる のが一因か?
従来のMVCは ルールがある
Model, View, Controller 最低限のレイヤーが 決まっている
Reactにももっと ルール=秩序が欲しい
フロントエンド開発を 分解していくと 秩序を見出せる?
フロントエンド開発でやること
フロントエンド開発でやること ・サーバーからデータを取得
フロントエンド開発でやること ・サーバーからデータを取得 fetchするだけ! codegenもあるし、 秩序は守れる
フロントエンド開発でやること ・サーバーからデータを取得 ・データを表示
フロントエンド開発でやること ・サーバーからデータを取得 ・データを表示 デザインぐらい。 Storybookとか 使えばよい。
フロントエンド開発でやること ・サーバーからデータを取得 ・データを表示 ・インタラクティブな操作
フロントエンド開発でやること ・サーバーからデータを取得 ・データを表示 ・インタラクティブな操作 ・・・
フロントエンド開発でやること ・サーバーからデータを取得 ・データを表示 ・インタラクティブな操作 ケースバイケースでイ イカンジに...
フロントエンド開発でやること ・サーバーからデータを取得 ・データを表示 ・インタラクティブな操作 ケースバイケースでイ イカンジに...
インタラクティブな 操作に秩序を与える
XState by Stately.ai https://stately.ai/docs/quick-start
XState is なに? ・ステートマシン(ステートチャート)を使って、ロジックを管理 ・ステートマシンはイベントを通じて状態遷移 ・アクター同士でメッセージを送信 ・いろいろなことができるようです
Stately Studio 試してみる
どういう使い方をするのか? ・状態を管理するところではどこでも使える ・フロントエンドに限った技術でもない ・非同期処理でも対応している ・アクター同士は相互にメッセージを送信しあうこともできる ・ステートマシンがクラスでアクターがインスタンスのようなイメージ
Examples こちらにたくさんあります
そもそもViewに 秩序のある時代は あったのだろうか?
私のチームにはまだ 秩序がありません...
他所のチームで どのように秩序を 保っているのか?
精進あるのみ🔥
ご清聴ありがとうご ざいました
さいごに ・絶賛採用活動中です❗ → X, LinkedIn, Green, LAPRAS, … 情報交換程度でも良いので、 よかったらご連絡を😆