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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
STORES_決済端末2ってAndroidなんでしょ__ほんとうかな__.pdf
tomorrowkey
0
9
モバイルとRubyとわたし
tomorrowkey
0
21
BiDiってなんだ?
tomorrowkey
2
540
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
990
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
1
120
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
2
410
5分で完全理解するNav3との向き合い方
tomorrowkey
0
180
テストを楽に書きたい
tomorrowkey
2
400
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
1.3k
Other Decks in Technology
See All in Technology
22nd ACRi Webinar - ChipTip Technology Eric-san's slide
nao_sumikawa
0
100
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
360
AWS Network Firewall Proxyを触ってみた
nagisa53
1
250
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
370
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
210
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
640
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
250
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Mobile First: as difficult as doing things right
swwweet
225
10k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
The Curious Case for Waylosing
cassininazir
0
240
Designing for Timeless Needs
cassininazir
0
130
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
740
Believing is Seeing
oripsolob
1
59
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
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