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
Application Coordinatorを利用した画面遷移
Search
Takahiro Hiasa
March 22, 2017
Programming
0
1.5k
Application Coordinatorを利用した画面遷移
https://github.com/takahia1988/ApplicationCoordinatorSample
Takahiro Hiasa
March 22, 2017
Tweet
Share
More Decks by Takahiro Hiasa
See All by Takahiro Hiasa
EMとしての醍醐味
takahia1988
0
100
日浅流、 エンジニアリングマネージャーのしごと
takahia1988
0
660
1つのアプリを開発する複数の職能横断チームの運用と今後 ~ タクシーアプリ「GO」の現状と未来 ~
takahia1988
1
8.5k
初めてのDroidKaigiプラチナスポンサー 〜エンジニアと作るスポンサー企画〜
takahia1988
0
270
どうする?GOする!LeSS導入する!?
takahia1988
0
5k
JapanTaxi × MOV = GOの開発体制とiOS14対応
takahia1988
0
1.4k
KotlinでRealmを扱う
takahia1988
1
1.2k
社内環境で紐解くfastlane match
takahia1988
0
830
Other Decks in Programming
See All in Programming
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
decksh - a little language for decks
ajstarks
4
21k
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
segadevtech
3
820
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
290
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
590
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
260
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
330
実践 Dev Containers × Claude Code
touyu
1
170
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
960
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
0
200
あのころの iPod を どうにか再生させたい
orumin
2
2.4k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Navigating Team Friction
lara
188
15k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
GraphQLとの向き合い方2022年版
quramy
49
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Site-Speed That Sticks
csswizardry
10
770
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Making Projects Easy
brettharned
117
6.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Transcript
Application Coordinatorを利用した画面遷移 potatotips #38 Mar/22/2017 Takahiro Hiasa connpass: thiasa1 Twitter:
@takahia
Who • 楽天株式会社2012年度新卒 • iOSエンジニアとサーバーサイドエンジニア を隔年ごとに行き来してます • 担当してきたサービス (楽天オークション、ラクマ) •
C2Cサービスが大好き!! • お酒好き • 最近の悩みは... 2 無類のビールと 日本酒好き❤
Who • 楽天株式会社2012年度新卒 • iOSエンジニアとサーバーサイドエンジニア を隔年ごとに行き来してます • 担当してきたサービス (楽天オークション、ラクマ) •
C2Cサービスが大好き!! • お酒好き • 最近の悩みは...毎年の健康診断でだんだ んと尿酸値が増えていっていること 3 無類のビールと 日本酒好き❤
4 駐車場スペースシェアリングサービス のラクパをリリースしました!
5 今日はラクパで採用した アーキテクチャの一部を紹介します!
ラクパのアーキテクチャの3本柱 6 Clean Architecture Application Coordinator Factory Pattern
今日はここだけ! 7 Clean Architecture Application Coordinator Factory Pattern
Application Coordinatorとは? • 画面遷移をコーディネートするもの • VCが遷移先を知る必要がないという点では VIPERのwireframeと同じスタンス • storyboardの画面遷移部分をコードに切り出 したものと考えてもらうとイメージしやすい
8
9 ラクパのPresentation Layerの構成の概要 Application Coordinator Transition Protocol ViewController Presenter ContorollersFactory
Presenter Protocol
10 画面遷移の実装 Application Coordinator Transition Protocol ViewController Presenter ContorollersFactory Presenter
Protocol
Transition Protocol 11
ViewController 12
Application Coordinator 13
Coordinatorを連結することも 14
Application Coordinatorのメリット • 画面遷移が集約されているため、Coordinatorを見るだけで、 画面遷移を理解することができる • 同じ画面で経路によって画面遷移が異なる場合、VCが遷移 元を気にする必要があったが、Application Coordinatorを利 用すると、その必要がなくなる。
• 一連の画面遷移をCoordinatorでまとめることで、画面遷移の 再利用化がしやすい • VCの修正をすることなしに、ダミーのVCと切り替えることがで きる 15
今後の課題 deeplinkによる画面遷移のハンドリングを Application Coordinatorでどう実現するか。 16
Sample Code https://github.com/takahia1988/ApplicationCoordinatorSample 17
楽天は優秀なアプリエンジニアを募集してます! 18 http://corp.rakuten.co.jp/careers/engineering/