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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
110
STORES_決済端末2ってAndroidなんでしょ__ほんとうかな__.pdf
tomorrowkey
0
37
モバイルとRubyとわたし
tomorrowkey
0
50
BiDiってなんだ?
tomorrowkey
2
700
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
1.4k
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
1
140
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
2
420
5分で完全理解するNav3との向き合い方
tomorrowkey
0
230
テストを楽に書きたい
tomorrowkey
2
410
Other Decks in Technology
See All in Technology
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
120
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
240
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
160
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
210
AWS DevOps Agentはチームメイトになれるのか?/ Can AWS DevOps Agent become a teammate
kinunori
6
740
Hacobu Tech Deck
hacobu
PRO
0
110
インターネットの技術 / Internet technology
ks91
PRO
0
210
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.4k
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
210
Shipping AI Agents — Lessons from Production
vvatanabe
0
240
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
370
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
450
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
200
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
100
Agile that works and the tools we love
rasmusluckow
331
21k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
330
Practical Orchestrator
shlominoach
191
11k
Optimizing for Happiness
mojombo
378
71k
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