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.2k
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
Tweet
Share
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
テストを楽に書きたい
tomorrowkey
2
320
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
860
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
720
Strong Skipping Modeをはじめよう
tomorrowkey
0
5.3k
あなたの知らないJetpackの世界 - DroidKaigi.collect { #7@Tokyo }
tomorrowkey
0
520
Auto Backupに対応する
tomorrowkey
0
290
これから始める秘匿情報との使い方
tomorrowkey
0
670
Other Decks in Technology
See All in Technology
Pwned Labsのすゝめ
ken5scal
2
450
クラウド食堂とは?
hiyanger
0
120
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
190
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
360
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
4
6.2k
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.8k
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
220
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
4th place solution Eedi - Mining Misconceptions in Mathematics
rist
0
150
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
330
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
11k
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
910
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Statistics for Hackers
jakevdp
797
220k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Navigating Team Friction
lara
183
15k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Applications with DynamoDB
mza
93
6.2k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
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