/2023-multi-market-ios-app

Plugin based architecture for iOS app using XCFrameworks

Primary LanguageSwift

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 and ECommerce.ca which is having two features Home and Account.

image
  • 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.
image
  • 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.
image
  • 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!
image