요즘 회사 프로젝트에서 Monolish 앱에서 벗어나 모듈화를 통한 코드 분리, 기능 분리, 의존성 분리 등을
진행하면서 처음 시작했던 모듈 나누기 작업을 정리하면서 해보겠습니다.
(굉장히 간단..!)
Workspace를 만들어 둡니다.
프로젝트 단위로 기능을 나눌 것이니 관리하기 용이하도록 하기 위해서입니다.
이름은 Note처럼 필기할 수 있는 느낌으로다가..
이제 본 프로젝트를 만듭니다.
App으로 선택하고 프로젝트를 생성해주세요! (이때 프로젝트의 그룹을 위에서 만든 Workspace로!)
그럼 workspace 안에 App Project가 생겼을 겁니다.
Noterious는 기획하면서 만든 거라 기능을 상세하기 구분하지 않았지만 공통 기능 및 Extension 함수, 공통 UI를 제공하는 모듈은
꼭 필요할 것 같습니다.
실제 회사에서도 모듈화를 진행하면서 먼저 진행하고 있는 부분이기도 합니다...
이번엔 Framework로 생성해주세요!
다음으로 각 기능 분리를 위하여 Feature 폴더를 만들고 Framework로 위에서처럼 프로젝트로 나눌 겁니다.!
일단 이 정도까지만....?
이제 어느 정도 기능별로 프로젝트를 만들었으니 유일신
유일 앱 Noterious에 연결합니다.
Noterious App
App에 각 기능을 가져와야 하니 일단 기능들을 넣어줍니다.
Onboarding 프로젝트는 Notorious앱의 구성요소지만 Onboarding을 구현할 때는 Core와 UI 모듈에 의존하게 됩니다.
//file NoteriousApp -> NoterousApp.swift
import SwiftUI
import Onboarding
import NoteriousUI
@main
struct NoteriousApp: App {
init() {
Fonts.registerFont()
}
var body: some Scene {
WindowGroup {
IntroView() //Onboarding module - IntroView
}
}
}
'프로젝트관리' 카테고리의 다른 글
Tuist Feature Layer - OnBoarding 모듈 만들기 (0) | 2025.03.04 |
---|---|
Tuist Domain Layer - Domain 모듈 만들기 (0) | 2025.01.12 |
Tuist Shared Layer - ExternalModule 만들기 (0) | 2025.01.10 |
Build Setting 시 경로 매크로 알아보기 (1) | 2023.10.16 |
Framework ~ not found (2) | 2023.10.12 |