A Micro-services perspective on iOS architecture
summary
Claim: break a monolithic Xcode app into vertical, team-aligned frameworks and publish each as a package so feature teams can build and ship independently. Implementation uses CocoaPods or Swift Package Manager (Carthage optional), package versioning, feature flags and a small build-and-deploy team. Proven to scale a one‑person iOS codebase to 5–20 developers across multiple companies with two‑three successful rollouts. Tradeoffs: later-stage integration and flaky UI tests require robust CI scripting, but the approach materially speeds team independence and delivery.
AI-written summary · about
chapters (30)
- 0:00Introduction
- 1:20Who am I
- 2:19Microservices on iOS
- 2:57Not about fancy architecture
- 3:30Its about being pragmatic
- 4:30Lets get started
- 5:20Premise of the talk
- 7:04Why microservices
- 8:24Scaling an Xcode project
- 10:32Dont create a monolith
- 10:48Break too much
- 12:06Draw the lines
- 12:41Traditional architecture
- 12:56Vertical size slices
- 13:23Platform team
- 15:23Alternative team
- 16:39Core teams
- 17:38Type system
- 18:02Vertical slicing
- 18:46The biggest hurdle in slicing
- 20:34Creating packages
- 22:05Quick thumbnail
- 22:47Common code
- 23:07Example
- 26:56Confidence Versioning
- 27:14Versioning Apps
- 27:40Confident Versioning
- 28:08Feature Flags
- 28:56Pitfalls
- 29:44Conclusion
related talks
32mCut costs, not corners - Master modularization with SPM
45mSwift, Frameworks & Modules, Learnings from CocoaPods
15mHow Apps Are Actually Built
30mIterative Mobile Development
42mBuilding Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
37mCut costs, not corners: Master modularization with SPM
38mIterative Mobile Development
49mScalable Best Practices for Your Development Team
