@deprecated Monolith @available Modules
summary
Wallapop’s iOS codebase moves from a 700k-line monolith with 3–4 minute builds to per-module builds that take seconds by extracting vertical feature frameworks and horizontal modules (API client, domain, common). The team battles a Swift "argument list too long" bug caused by long compile commands, tries Carthage + CocoaPods then consolidates into CocoaPods static libraries, then separates modules into Xcode projects. Modules expose protocols, use a dependency container with lazy closures to break cycles, and rely on a legacy interface dev‑pod for app-only APIs; the approach works after two years of iterative fixes.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:50Entity Considerations
- 4:53Timeline
- 11:00Long term plan
- 15:27January 2019
- 31:13Summary
- 32:46Thank you
- 33:15Questions
related talks
42mSplitting Monolithic Swift Code Base Into Modules
39mModularization techniques from monolithic to multi-packages app
39mMicro Modular Architecture with Bazel
57mModularizing the Monolith
46mScaling Up With SwiftUI: Migrating iOS Apps To SwiftUI
39mForging the path from monolith to multi-module app
41mTwo Birds with One Stone: Multimodule Architecture and Faster Builds
20mStarting Module Separation from New Feature Development
