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
1k
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
380
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
500
Strong Skipping Modeをはじめよう
tomorrowkey
0
3.8k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
430
Auto Backupに対応する
tomorrowkey
0
220
これから始める秘匿情報との使い方
tomorrowkey
0
600
Other Decks in Technology
See All in Technology
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方〜
shimy
9
1.9k
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
さらに高品質・高速化を目指すAI時代のテスト設計支援と、めざす先 / AI Test Lab vol.1
shift_evolve
0
190
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
Classmethod Odyssey 登壇資料
yamahiro
0
390
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
480
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
280
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
Done Done
chrislema
179
15k
For a Future-Friendly Web
brad_frost
173
9.2k
Building an army of robots
kneath
301
42k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Practical Orchestrator
shlominoach
185
10k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
How to Ace a Technical Interview
jacobian
274
23k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
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