Getting Started with iOS App Modularization: Final Extraction and Micro-App
Article Summary
Tokopedia's iOS team just wrapped up their modularization tutorial series, and the final piece is a game-changer: micro apps that let you build only what you need.
This is part 3 of Tokopedia Engineering's hands-on iOS modularization guide. Engineer Arya Surya walks through extracting the Product Detail feature into its own framework, then introduces micro apps as development playgrounds for individual features.
Key Takeaways
- Extract Product Detail into standalone framework with proper ACL and dependencies
- Create micro app targets within frameworks for isolated feature development
- Build only necessary features instead of compiling the entire monolith app
- Tokopedia achieved 1000% faster build times using this modular approach with Bazel
Micro apps let iOS developers work on individual features in isolation, dramatically cutting build times during development.
About This Article
iOS developers ran into Access Control List issues when they pulled the Product Detail feature out into its own framework. They had to manually adjust visibility settings on ProductDetailPageViewController to make the APIs work across module boundaries.
Arya Surya's team fixed the ACL conflicts by changing the access control modifiers on the extracted view controller and adding ProductDetail as a dependency to the main app target. This let the frameworks communicate properly.
The modularization approach let developers build isolated micro app targets within individual frameworks. They no longer had to compile the entire monolith application while working on features.