Multi Market App Architecture using XCWorkspace and XCProjects
-
A demonstration of how to setup a multi market ecommercial application.
-
In this codebase have two apps
ECommerce
andECommerce.ca
which is having two featuresHome
andAccount
.
- We have created the Home and Account featuers as frameworks using XCFrameworks.
- The advantage of creating this as XCFrameworks is that we can independently work on Home if required.
- HomeApp is target to run the Home Framework alone. We don't have to run the entire app to work on Home features.
- Created a dependency injection container to register all the dependencies. The advantage of using this approach is the decoupling of the code.
- Each plugins registed using a protocol.
- If Home wants to use Account framework, They don't have to import the framework they only need Dependency injection container and the protocol for the dependency!