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
複雑なステート管理をらくにするステートマシンを使ったアプローチ
Search
Tomoki Yamashita
December 22, 2022
Technology
0
1.2k
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
テストを楽に書きたい
tomorrowkey
2
320
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
800
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
710
Strong Skipping Modeをはじめよう
tomorrowkey
0
5.3k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
510
Auto Backupに対応する
tomorrowkey
0
290
これから始める秘匿情報との使い方
tomorrowkey
0
670
Other Decks in Technology
See All in Technology
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
190
GraphRAG: What I Thought I Knew (But Didn’t)
sashimimochi
1
230
一人から始めたSREチーム3年の歩み - 求められるスキルの変化とチームのあり方 - / The three-year journey of the SRE team, which started all by myself
vtryo
7
5.7k
Site Reliability Engineering on Kubernetes
nwiizo
6
4.4k
private spaceについてあれこれ調べてみた
operando
1
160
Redshiftを中心としたAWSでのデータ基盤
mashiike
0
100
Fin-JAWS第38回reInvent2024_全金融系セッションをライトにまとめてみた
mhrtech
1
100
消し忘れリソースゼロへ!私のResource Explorer活用法
cuorain
0
140
エラーバジェット枯渇の原因 - 偽陽性との戦い -
phaya72
1
100
バクラクの組織とアーキテクチャ(要約)2025/01版
shkomine
13
2.9k
【Λ(らむだ)】アップデート機能振り返りΛ編 / PADjp20250127
lambda
0
120
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
6
360
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
Mobile First: as difficult as doing things right
swwweet
222
9.2k
Optimizing for Happiness
mojombo
376
70k
Done Done
chrislema
182
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Typedesign – Prime Four
hannesfritz
40
2.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How to train your dragon (web standard)
notwaldorf
89
5.8k
KATA
mclloyd
29
14k
Transcript
potatotips #80 - 2022.12.22 @tomorrowkey
/ STORES STORES <- <- Android @tomorrowkey
STORES
https://www.st.inc/news/2022-12-19-brandedapp-shopify
WebView
WebView (Native/HTML/Javascript ) WebView
WebView (Native/HTML/Javascript ) WebView
WebView viewDidLoad(), onCreate() API …
WebView viewDidLoad(), onCreate() API … Web Web API JavaScript
None
Web
None
None
Event.LoginPageShown Event.LoginPageShown Event.LoginScriptExecuted Event.TopPageShown Event.LoadingObserverLaunched Event.LoginPageShown Event.CheckInButtonClicked Event.CheckOutButtonClicked CheckInScriptExecuted Event.ClockShown
Event.ErrorShown Event.ClockShown State.Init State.WaitForLogin State.WaitForAuth State.WaitForLoadingObserverLaunch State.WaitForCheckIn State.WaitForCheckInScriptExecuted State.CheckInLoading State.ErrorShown
StateMachine.create { initialState(Init) state<Init> { on<LoginPageShown> { transitionTo(WaitForLogin) } }
state<WaitForLogin> { on<LoginPageShown> { transitionTo(WaitForLogin) } on<LoginScriptExecuted> { transitionTo(WaitForAuth) } } state<WaitForAuth> { on<TopPageShown> { transitionTo(WaitForLoadingObserver on<LoginPageShown> { transitionTo(WaitForLogin) } } state<WaitForLoadingObserverLaunch> { on<LoadingObserverLaunched> { transitionTo(WaitForChec Tinder/StateMachine
None
None