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.4k
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
360
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
0
77
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
1
380
5分で完全理解するNav3との向き合い方
tomorrowkey
0
120
テストを楽に書きたい
tomorrowkey
2
380
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
1.2k
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
920
Strong Skipping Modeをはじめよう
tomorrowkey
0
5.5k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
600
Other Decks in Technology
See All in Technology
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
220
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
810
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
360
戦えるAIエージェントの作り方
iwiwi
20
9.4k
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
知覚とデザイン
rinchoku
1
720
20251027_マルチエージェントとは
almondo_event
1
510
AIの個性を理解し、指揮する
shoota
3
610
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
10
5.2k
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
180
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
140
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
210
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
Git: the NoSQL Database
bkeepers
PRO
431
66k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Designing for Performance
lara
610
69k
Keith and Marios Guide to Fast Websites
keithpitt
412
23k
How to Ace a Technical Interview
jacobian
280
24k
GitHub's CSS Performance
jonrohan
1032
470k
Navigating Team Friction
lara
190
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Context Engineering - Making Every Token Count
addyosmani
8
330
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
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