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
1.3k
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
テストを楽に書きたい
tomorrowkey
2
330
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
960
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
780
Strong Skipping Modeをはじめよう
tomorrowkey
0
5.4k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
550
Auto Backupに対応する
tomorrowkey
0
320
これから始める秘匿情報との使い方
tomorrowkey
0
690
Other Decks in Technology
See All in Technology
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
4
220
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5k
LINE 購物幕後推手
line_developers_tw
PRO
0
310
10分で学ぶ、RAGの仕組みと実践
supermarimobros
0
680
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
9k
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
380
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
330
OpsJAWS34_CloudTrailLake_for_Organizations
hiashisan
0
240
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
140
3D生成AIのための画像生成
kosukeito
2
580
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
160
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
290
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
780
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
GraphQLとの向き合い方2022年版
quramy
46
14k
Side Projects
sachag
453
42k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
How STYLIGHT went responsive
nonsquared
100
5.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.4k
Typedesign – Prime Four
hannesfritz
41
2.6k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
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