Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modular Architecture w/ Tuist

Wooseong Kim
December 02, 2022

Modular Architecture w/ Tuist

Introduce an Effective way to collaborate on iOS workspace.

Let'Swift 2022 에서 발표한 자료입니다.

Wooseong Kim

December 02, 2022
Tweet

More Decks by Wooseong Kim

Other Decks in Programming

Transcript

  1. ݾର Modular Architecture? 7-Phases of Modular Architecture Starting Tuist Issues

    & Workarounds Advantages of Tuist Further Milestones
  2. Monolith App Domain Core ThirdParty Foundation Amplitude Firebase Braze AppsFlyer

    Facebook Naver Kakao Entity Feature Flag Logging Networking Service ReactiveX …
  3. App App Feature App Core ThirdParty Shared Amplitude Firebase Facebook

    Entity Networking Foundation Resource … Service UI … Naver Kakao Domain Notification Service FeatureFlag Logging RemoteConfig ReactiveX …
  4. App Domain Core ThirdParty Foundation Amplitude Firebase Facebook Naver Kakao

    Entity Feature Flag Logging Networking ReactiveX … …
  5. App App Feature App Core ThirdParty Shared Amplitude Firebase Facebook

    Entity Networking Foundation Resource … Service UI … Naver Kakao Domain Notification Service FeatureFlag Logging RemoteConfig ReactiveX …
  6. 3. XcodeGen to Tuist - ੷൞ ౱੉ ೮؍ ߑध੉੗ അসীࢲ

    ઱۽ ࢎਊغח ߑध 
 - ӝઓ Workspace ח Ӓ؀۽ ك ଻ Tuist Workspace ܳ ٮ۽ ઁ੘ 
 - XcodeGen ੄ project.yml ਸ Tuist ੄ Project.swift ۽ 1:1 ߸ജ 
 - ೞਤ ۨ੉যࠗఠ ೞաঀ ߸ജ 
 - CocoaPods -> SPM / Carthage ۽ ੹ജ ೙ਃ 
 - ݽٚ ݃੉Ӓۨ੉࣌੉ ՘դ റ Tuist Workspace ࢎਊ
  7. Project-based Build Caching ੷൞ ౱ Workspace ӝળ ૐ࠙ ࠽٘ ࣘب

    ೱ࢚੉ ࢚׼೮णפ׮. ೐۽ં౟ ܻ࠙о ؊ ؼࣻ۾ ੉റ۽ب ؊ ೱ࢚غܻۄ ৘࢚೤פ׮.
  8. App App Feature App Core ThirdParty Firebase Entity Networking Resource

    … Service UI Design System Naver Kakao Domain Notification Service … Product Post Shared … … Authentication Amplitude Main Shop Splash Settings Facebook ReactiveX Logging Foundation FeatureFlag RemoteConfig …
  9. App App Feature App Core ThirdParty Firebase Entity Networking Resource

    … Service UI Design System Naver Kakao Domain Notification Service … Product Post Shared … … Authentication Amplitude Main Shop Splash Settings Facebook ReactiveX Logging Foundation FeatureFlag RemoteConfig …
  10. MainApp App Feature App Core ThirdParty Firebase Entity Networking Resource

    … Service UI Design System Naver Kakao Domain Notification Service … Product Post Shared … … Authentication Amplitude Main Shop Splash Settings Facebook ReactiveX Logging Foundation FeatureFlag RemoteConfig … PostFeatureApp App Feature App Core ThirdParty Firebase Entity Networking Resource Service UI Design System … Shared … … Authentication Amplitude ReactiveX Logging Foundation FeatureFlag RemoteConfig Post ProductFeatureApp App Feature App Core ThirdParty Firebase Entity Networking Resource Service UI Design System Shared … … ReactiveX Logging Foundation FeatureFlag RemoteConfig Product