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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tomoki Yamashita
December 22, 2022
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
複雑なステート管理をらくにするステートマシンを使ったアプローチ
モバイルアプリのステート管理に役立つステートマシンの紹介をします。
Tomoki Yamashita
December 22, 2022
More Decks by Tomoki Yamashita
See All by Tomoki Yamashita
ハードウェア連携が必要なプロダクトにおける自動テストの書き方
tomorrowkey
0
130
STORES_決済端末2ってAndroidなんでしょ__ほんとうかな__.pdf
tomorrowkey
0
63
モバイルとRubyとわたし
tomorrowkey
0
69
BiDiってなんだ?
tomorrowkey
2
750
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
1.7k
Ebisu mobile #11 - Predictive Backに対応する
tomorrowkey
1
160
AI協同時代にモバイルエンジニアが備えるべき開発環境の話
tomorrowkey
2
450
5分で完全理解するNav3との向き合い方
tomorrowkey
0
270
テストを楽に書きたい
tomorrowkey
2
440
Other Decks in Technology
See All in Technology
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
350
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.2k
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
190
A Bag-of-Documents Model for Query Specificity
dtunkelang
0
150
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
0
140
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
210
NetBoxを利用した作業効率化の試み_NetDevNight4
tnoha
0
130
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
170
人とエージェントが高め合う協業設計
kintotechdev
0
1.1k
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
1.5k
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
1k
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1.4k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
Become a Pro
speakerdeck
PRO
31
6k
The Language of Interfaces
destraynor
162
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Tell your own story through comics
letsgokoyo
1
1k
Side Projects
sachag
455
43k
For a Future-Friendly Web
brad_frost
183
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.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