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.6k
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
120
日浅流、 エンジニアリングマネージャーのしごと
takahia1988
0
740
1つのアプリを開発する複数の職能横断チームの運用と今後 ~ タクシーアプリ「GO」の現状と未来 ~
takahia1988
1
8.8k
初めてのDroidKaigiプラチナスポンサー 〜エンジニアと作るスポンサー企画〜
takahia1988
0
310
どうする?GOする!LeSS導入する!?
takahia1988
0
5.1k
JapanTaxi × MOV = GOの開発体制とiOS14対応
takahia1988
0
1.5k
KotlinでRealmを扱う
takahia1988
1
1.2k
社内環境で紐解くfastlane match
takahia1988
0
880
Other Decks in Programming
See All in Programming
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
720
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1k
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
Go1.26 go fixをプロダクトに適用して困ったこと
kurakura0916
0
370
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
910
TipKitTips
ktcryomm
0
160
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8k
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
200
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
780
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
110
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
470
Information Architects: The Missing Link in Design Systems
soysaucechin
0
820
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
Exploring anti-patterns in Rails
aemeredith
2
290
Code Reviewing Like a Champion
maltzj
528
40k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
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/