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
960
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
180
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
270
Strong Skipping Modeをはじめよう
tomorrowkey
0
2.3k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
380
Auto Backupに対応する
tomorrowkey
0
200
これから始める秘匿情報との使い方
tomorrowkey
0
560
Other Decks in Technology
See All in Technology
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
36k
本番環境で Cloudflareを 使ってみた話
miu_crescent
2
130
1Q86
kawaguti
PRO
2
190
TailwindCSSでUIライブラリを作る際のハマりどころ
shuta13
0
230
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
120
Domain-driven Design: A Complete Example
ewolff
2
260
#phpconkagawa レガシーコードにもオブザーバビリティを 〜少しずつ始めるサービス監視〜
yamato_sorariku
0
560
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
2
670
LINEヤフーのウェブアクセシビリティ
lycorptech_jp
PRO
2
180
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
390
ハードウェアを動かすTypeScriptの世界
9wick
3
1.2k
シンプルなHITL機械学習と様々なタスクにおけるHITL機械学習
naohachi89
0
320
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Typedesign – Prime Four
hannesfritz
36
2.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
How to Ace a Technical Interview
jacobian
273
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
In The Pink: A Labor of Love
frogandcode
138
21k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
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