Tokopedia Arya Surya Jun 22, 2021

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

Critical Insight

Micro apps let iOS developers work on individual features in isolation, dramatically cutting build times during development.

The tutorial includes a complete GitHub repo with working code, plus Tokopedia's story about how they scaled this approach to achieve 10x build time improvements.

About This Article

Problem

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.

Solution

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.

Impact

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.