Conductors: It’s all about communication!
summary
Delivery Hero faces a single home screen with dozens of features in apps serving ~2M daily users and ~50M orders/month and reduces tangled presenter/view logic by introducing a conductor layer that routes component signals through per-component communication channels. Implementation uses iOS patterns (VIPER-inspired presenters/interactors), Swift generics for Channel<T>, component delegates and observer registration, plus a small factory for creation. First attempt used a massive container observer; the channel refactor removes big classes, restores SOLID, makes components plug-and-play and proves reusable in a live demo and GitHub repo.
AI-written summary · about
chapters (12)
- 0:00Start
- 3:29Personalized Listing
- 4:13Timed Offers
- 8:42Requirements for the Solution
- 9:47About Conductors
- 10:25What Is a Conductor
- 12:10User Interaction
- 13:43How To Get the Signals from the Component to the Conductor
- 20:49Is It Reusable and Flexible
- 24:02Container View Controller
- 24:45Communication Channel
- 26:16Communication Channel
related talks
39mOnion-like iOS Architecture Solution
40mMobiconf 2018: John Sundell, Swift by Sundell
35mSweet Architecture
30mModern Compose Architecture with Circuit
36mDesign Develop Deploy!
32mArchitecture at Scale
35mLife is too short to develop only for Android – A journey to Server-driven UI
31mBest Practices for Architecting Server-Driven Web/Mobile Apps
