How to Modularize an iOS App
<p>In this article, we will dive deep into how to split an iOS application into smaller modules. We’re going to leverage XcodeGen, Clean Architecture principles, Xcode templates and more. For user interface, we will use SwiftUI, and for navigation, UIKit.</p>
<p>In short, this is what you will have learned by the end of the article:</p>
<ul>
<li>How to divide an iOS application into layers in accordance with the Clean Architecture approach.</li>
<li>How to prevent circular dependencies.</li>
<li>How to use <a href="https://github.com/yonaskolb/XcodeGen" rel="noopener ugc nofollow" target="_blank">XcodeGen</a> for app modularization.</li>
<li>What is the Interface Modules approach and how to implement navigation in modularized apps.</li>
<li>How to generate dependency diagrams with simple command line invocations using <a href="https://www.graphviz.org/" rel="noopener ugc nofollow" target="_blank">GraphViz</a>.</li>
<li>Other iOS modularization tools available.</li>
</ul>
<p>The completed demo project is available on <a href="https://github.com/zafarivaev/ios-swiftui-modularization" rel="noopener ugc nofollow" target="_blank">GitHub</a>.</p>
<p><a href="https://levelup.gitconnected.com/how-to-modularize-an-ios-app-a8d5bdab8398"><strong>Website</strong></a></p>