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
調理場で使うタブレット専用アプリ をどうつくったか -STORES モバイルオーダー 実装の...
Search
Kenta Enomoto
December 04, 2025
Technology
0
18
調理場で使うタブレット専用アプリ をどうつくったか -STORES モバイルオーダー 実装の舞台裏-
STORES Tech Conf 2025 "What would you do?" で登壇した際の資料です
https://storesinc.tech/conf/2025
Kenta Enomoto
December 04, 2025
Tweet
Share
More Decks by Kenta Enomoto
See All by Kenta Enomoto
[DroidKaigi 2025] 共有と分離 - Compose Multiplatform "本番導入" の設計指針
enomotok
0
30
Kotlin Multiplatform / Compose Multiplatform を活用したモバイルアプリ開発の最前線
enomotok
0
110
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
470
STORES ブランドアプリのスケールするアプリづくり
enomotok
0
72
What's new in Xcode 16 ダイジェスト
enomotok
0
840
Introducing Pkl
enomotok
0
3k
iOS リポジトリへの Renovate の導入
enomotok
2
420
iOS開発とGitLab CI
enomotok
7
4.1k
ポモドーロテクニックについて
enomotok
0
160
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
チームメンバー迷わないIaC設計
hayama17
5
3.4k
バクラクのSREにおけるAgentic AIへの挑戦/Our Journey with Agentic AI
taddy_919
2
860
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
160
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
160
全自動で回せ!Claude Codeマーケットプレイス運用術
yukyu30
3
150
Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に
miyukichi_ospf
0
280
Secure Boot 2026 - Aggiornamento dei certificati UEFI e piano di adozione in azienda
memiug
0
130
Databricks (と気合い)で頑張るAI Agent 運用
kameitomohiro
0
350
Devinを導入したら予想外の人たちに好評だった
tomuro
0
700
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
15
6.1k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
270
The SEO Collaboration Effect
kristinabergwall1
0
380
GraphQLとの向き合い方2022年版
quramy
50
14k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
130
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
Designing Experiences People Love
moore
143
24k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
59
50k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
130
Ruling the World: When Life Gets Gamed
codingconduct
0
160
Transcript
調理場で使うタブレット専用アプリ をどうつくったか -STORES モバイルオーダー 実装の舞台裏- Kenta Enomoto
榎本 健太 STORES ブランドアプリチーム iOS エンジニア enomot_ enomoto 自己紹介
1. STORES モバイルオーダーとは 2. 私たちが直面した「制約」 3. 制約の中で下した判断 4. 開発の結果とタイムライン 5.
まとめ アジェンダ
STORES モバイルオーダー とは
注文から決済、受け取りまでを スムーズにデジタル化するプロダクト STORES モバイルオーダーとは • モバイルオーダーサービスを 簡単に導入できる仕組み • 注文、決済、受け取りまでをス ムーズに
キッチンディスプレイとは 調理場で使われるタブレット専用アプリ • 調理場でオーダー情報をリア ルタイムに把握 • オーダーのステータスを変更 し、お客さまに進捗を通知
2. 私たちが直面 した「制約」
制約 6 1. 調理場特有の要件 2. ビジネスのスピード感と、限られたリソースによる、 事業上の制約
制約①:調理場特有の要件 一般的なアプリとは異なる現場環境からの要求 • 一覧性 ◦ 一画面で必要な情報がすべてわかるUI • 即時性 ◦ 新しい注文に「すぐ」気づくことができる通知やUI
• 堅牢性 (端末) ◦ 故障に強い端末(例:防水性)を選択可能であること
実際に使われている現場 (iki Roastery & Eatery さま)
実際に使われている現場 (iki Roastery & Eatery さま)
実際に使われている現場 (iki Roastery & Eatery さま)
実際に使われている現場の様子 (iki Roastery & Eatery さま)
制約①:調理場特有の要件(再掲) 一般的なアプリとは異なる現場環境からの要求 • 一覧性 ◦ 一画面で必要な情報がすべてわかるUI • 即時性 ◦ 新しい注文に「すぐ」気づくことができる通知やUI
• 堅牢性 (端末) ◦ 故障に強い端末(例:防水性)を選択可能であること
制約②:事業上の制約 ビジネスのスピード感と、限られたリソースによる制約 • ゼロからの新規開発 • ビジネス要求に応えるための早期リリース • Android版 のリリースが必須 ◦
端末の選択肢のため • 少人数チームと技術スタックの制限
制約の中で下した 判断
制約の中でどのように判断をしたか MUST/前提として満たす必要あり • Android版の提供 • 一画面で情報がわかる UI • 早期リリース •
エンジニアリソースの不足 • ゼロからの開発 WANT/妥協できる • ネイティブらしいリッチな UI ◦ 凝ったアニメーション ◦ 複雑で美しいデザイン • iOS版の早期リリース 全てはトレードオフである
制約への回答 1. Kotlin Multi Platform / Compose Multi Platform という技術選定
◦ Android 版の提供 ◦ 早期リリース ◦ エンジニアリソースの不足 2. UI 設計による問題解決 ◦ 一画面で情報がわかるUI
制約への回答①:技術選定 Kotlin Multiplatform / Compose Multiplatform (KMP / CMP) Shared
UI Compose Multiplatform Shared logic Kotlin Multiplatform
制約への回答①:技術選定 Kotlin Multiplatform / Compose Multiplatform を選定 • Android 版を先行リリース
• iOS 版も要望が上がる可能性が高い • 仮に iOS をネイティブで作り直しになっても、 KMP / CMP の コードは Android の資産として活かせる • 業務アプリのため、プラットフォーム固有の UI の作り込みは少 ない
技術選定上の工夫 プロトタイピング • リリース前の時点では CMP を用いた事例はまだ少なかった • 実装に先駆けて2週間のプロトタイピングを実施 • マルチプラットフォーム環境での開発効率を検証
KMP/CMP による実装の詳細を知りたい方へ https://2025.droidkaigi.jp/timetable/944860/
制約への回答②:UI設計と工夫 • 1画面で情報がわかる UI の設計 • ボトムシート UI
制約への回答②:UI設計と工夫 1画面で情報がわかる UI の設計
制約への回答②:UI設計と工夫 ボトムシート UI
開発の結果と タイムライン
Android 版の成果 Android 版 • 通常の Android ネイティブ開発に対して、1.3倍程度の工数でリ リース (KMP/CMP
のキャッチアップも含む) • Jetpack Compose の知識があれば UI 実装で迷う部分は少な い
iOS 版の成果 iOS 版 • 実装着手からおよそ 2 ヶ月でリリース • Android
版と 90 %のコードを共有 • コードを共有できないだけモジュール分割と DI を用いて分離す る手法を用いた
開発タイムライン プロダクト 構想 2024/03 Android版 開発着手 2024/08 Android版 リリース 2024/12
2025/03 iOS版 リリース 制約の中での迅速なリリースを実現 技術選定/ 設計
得られたもの 採用した技術選定は、 STORES として 今後の資産としても活用できる基盤になった
まとめ
得られたもの 制約から最適解に辿り着く • まず制約をすべて明らかにすること • その中で最も重要なビジネス上の制約を特定し、遵守する • 守るべきものを決めれば、最適な設計は自ずと浮かび上がる