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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomoki Yamashita
December 22, 2022
Technology
1.5k
0
Share
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
ハードウェア連携が必要なプロダクトにおける自動テストの書き方
tomorrowkey
0
100
STORES_決済端末2ってAndroidなんでしょ__ほんとうかな__.pdf
tomorrowkey
0
35
モバイルとRubyとわたし
tomorrowkey
0
50
BiDiってなんだ?
tomorrowkey
2
660
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
1.3k
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
1
140
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
2
420
5分で完全理解するNav3との向き合い方
tomorrowkey
0
220
テストを楽に書きたい
tomorrowkey
2
410
Other Decks in Technology
See All in Technology
【関西電力KOI×VOLTMIND 生成AIハッカソン】空間AIブレイン ~⼤阪おばちゃんフィジカルAIに続く道~
tanakaseiya
0
180
MCPゲートウェイ MCPass の設計と実装 エンタープライズで AI を「運用できる」状態にする
mtpooh
1
170
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
5
3.5k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
6
2.3k
プロダクトを育てるように生成AIによる開発プロセスを育てよう
kakehashi
PRO
1
850
さくらのクラウドでつくるCloudNative Daysのオブザーバビリティ基盤
b1gb4by
0
110
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
1
210
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
3
4.2k
解剖"React Native"
hacusk
0
120
自己組織化を試される緑茶ハイを求めて、今日も全力であそんで学ぼう / Self-Organization and Shochu Green Tea
naitosatoshi
0
280
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
150
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
1
330
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
The World Runs on Bad Software
bkeepers
PRO
72
12k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
How to Talk to Developers About Accessibility
jct
2
170
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
880
30 Presentation Tips
portentint
PRO
1
270
Writing Fast Ruby
sferik
630
63k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
100
Believing is Seeing
oripsolob
1
110
Between Models and Reality
mayunak
3
260
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