Getting Started with iOS App Modularization: An Introduction
Article Summary
Tokopedia's iOS team faced a critical problem: their monolithic app took so long to build that it threatened their weekly release schedule.
Arya Surya from Tokopedia Engineering walks through a hands-on tutorial for splitting a monolithic iOS app into modular frameworks. This first part of a three-part series covers the fundamentals and tackles the shared components module.
Key Takeaways
- Modularization lets developers build only needed features, drastically cutting compile time
- Start with least dependent code: extract shared UI components first
- Dynamic frameworks require explicit bundle IDs to access resources like XIBs and JSON
- Access control levels (public vs internal) are critical for cross-module visibility
- Convert to xcworkspace structure before creating separate framework targets
Critical Insight
By extracting shared components into a separate framework, teams can begin reducing build times while maintaining a working app throughout the modularization process.