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.5k
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
920
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
0
120
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
1
410
5分で完全理解するNav3との向き合い方
tomorrowkey
0
170
テストを楽に書きたい
tomorrowkey
2
390
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
1.3k
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
970
Strong Skipping Modeをはじめよう
tomorrowkey
0
5.6k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
610
Other Decks in Technology
See All in Technology
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
3
2k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
210
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
460
2026/01/16_実体験から学ぶ 2025年の失敗と対策_Progate Bar
teba_eleven
0
110
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
300
Databricks Free Editionで始めるLakeflow SDP
taka_aki
0
100
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
630
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
960
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
130
SwiftDataを覗き見る
akidon0000
0
140
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
38
Everyday Curiosity
cassininazir
0
120
HDC tutorial
michielstock
1
320
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
190
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
81
Raft: Consensus for Rubyists
vanstee
141
7.3k
Practical Orchestrator
shlominoach
190
11k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
240
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
49
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