새로운 프로젝트를 시작하면서 Tuist를 도입해 모듈화를 진행하게 되었다.
우선, 완성된 모듈 구조는 다음과 같다.

다른 프로젝트의 tuist graph는 거미줄처럼 모듈들이 여러개가 존재하는데, 그에 반해 아직 초기라 그런지 조금 초라하긴 하다..
생각보다 tuist를 구성하는 일이 쉽지 않아서 하루죙일 삽질했던 것 같다.
일단 각 모듈의 역할은 다음과 같이 정의했다.
App
제품으로 나가는 애플리케이션을 관리하는 프로젝트로, AppDelegate, SceneDelegate, Push Notification, Widget 등을 다루고, 앱 시작시 어떤 기능으로 시작할지, 그리고 값 초기화, 설정 초기화 등을 처리하는 프로젝트입니다.
Features
DesignSystem, Service 모듈에 의존해 화면을 구성합니다.
Service
ThirePary모듈에 의존해 Network 관련 로직들을 제공합니다.
Design System
기본적인 컴포넌트를 제공하여 디자인 시스템 모듈을 가져다 기능 화면들을 구성할 수 있도록 제공합니다.
ThireParty 모듈에 의존해 작업을 진행합니다
UI와 관련된 모든 것들을 해당 모듈에 넣는 것이 어떨까라는 생각을 했습니다.
그래서 UIView+Extension과 같은 extension을 비롯해 custom View, FontManager(폰트 설정), ColorManager 등 디자인에 관련된 모든 것을 담아두려고 합니다.
ThirdPartyModule
외부 라이브러리를 모아놓은 모듈입니다.
사용 라이브러리 : Tuist, Snapkit, Then, Alamofire + SwiftLint 추가 예정
이렇게 모듈을 구성해놓고 추후에 세부적으로 나눌 모듈이 있으면 추가를 할 예정이다.
깃헙링크:
https://github.com/project-sulsul/SulSul-iOS/tree/feat/1.0_1
GitHub - project-sulsul/SulSul-iOS
Contribute to project-sulsul/SulSul-iOS development by creating an account on GitHub.
github.com
참고:
[iOS] 준 Clean Architecture With RIBs, ReactorKit 그리고 Tuist를 이용한 프로젝트 모듈화 설계(2) - Tuist
현재 Tuist edit 참고:
'Tuist' 카테고리의 다른 글
[Tuist] One of the two will be used. Which one is undefined 에러문 출력 (1) | 2023.12.05 |
---|---|
Tuist 사용법 및 에러 모음 (0) | 2023.08.24 |
새로운 프로젝트를 시작하면서 Tuist를 도입해 모듈화를 진행하게 되었다.
우선, 완성된 모듈 구조는 다음과 같다.

다른 프로젝트의 tuist graph는 거미줄처럼 모듈들이 여러개가 존재하는데, 그에 반해 아직 초기라 그런지 조금 초라하긴 하다..
생각보다 tuist를 구성하는 일이 쉽지 않아서 하루죙일 삽질했던 것 같다.
일단 각 모듈의 역할은 다음과 같이 정의했다.
App
제품으로 나가는 애플리케이션을 관리하는 프로젝트로, AppDelegate, SceneDelegate, Push Notification, Widget 등을 다루고, 앱 시작시 어떤 기능으로 시작할지, 그리고 값 초기화, 설정 초기화 등을 처리하는 프로젝트입니다.
Features
DesignSystem, Service 모듈에 의존해 화면을 구성합니다.
Service
ThirePary모듈에 의존해 Network 관련 로직들을 제공합니다.
Design System
기본적인 컴포넌트를 제공하여 디자인 시스템 모듈을 가져다 기능 화면들을 구성할 수 있도록 제공합니다.
ThireParty 모듈에 의존해 작업을 진행합니다
UI와 관련된 모든 것들을 해당 모듈에 넣는 것이 어떨까라는 생각을 했습니다.
그래서 UIView+Extension과 같은 extension을 비롯해 custom View, FontManager(폰트 설정), ColorManager 등 디자인에 관련된 모든 것을 담아두려고 합니다.
ThirdPartyModule
외부 라이브러리를 모아놓은 모듈입니다.
사용 라이브러리 : Tuist, Snapkit, Then, Alamofire + SwiftLint 추가 예정
이렇게 모듈을 구성해놓고 추후에 세부적으로 나눌 모듈이 있으면 추가를 할 예정이다.
깃헙링크:
https://github.com/project-sulsul/SulSul-iOS/tree/feat/1.0_1
GitHub - project-sulsul/SulSul-iOS
Contribute to project-sulsul/SulSul-iOS development by creating an account on GitHub.
github.com
참고:
[iOS] 준 Clean Architecture With RIBs, ReactorKit 그리고 Tuist를 이용한 프로젝트 모듈화 설계(2) - Tuist
현재 Tuist edit 참고:
'Tuist' 카테고리의 다른 글
[Tuist] One of the two will be used. Which one is undefined 에러문 출력 (1) | 2023.12.05 |
---|---|
Tuist 사용법 및 에러 모음 (0) | 2023.08.24 |