Velog 글쓰기가 문제가 있는지 계속 작성이 안되서….
Notion 에서 작성한후 글을 옮겼음을 알립니다.
아 또한 기존 Xcode 프로젝트를 Tuist 마이그레이션을 하는 과정으로 인해
지연 되어 죄송합니다….
Tuist 1편 을 시작해 보겠습니다.
Xcode 프로젝트를 관리하는 툴 이며,
유지관리를 편리하게 도와주는 CLI 도구 입니다.
Command Line Interface 로
Terminal 를 통해 컴퓨터와 소통하는 방식을 말했었죠
많은 블로그 글을 보게되면 많은 이유들이 언급 되는데
저는 직접 마이그레이션 하면서 피부로 와닿은 부분을 적어 볼려고 해요
회사에서 협업을 할때나 동아리에서 협업을 할때
폴더 위치가 변경되거나, 파일 위치가 변경되거나, 새로운 폴더를 생성하거나 등등
pbxproj 파일이 충돌되는 경우가 허다 했어요
저는 이런경우 항상 직접 pbxproj 파일을 직접 수정하여 Git 충돌사항을 해결하곤 하였었는데
Tuist로 마이그레이션을 해보니 그럴 경우가 거의 없겠더라구요
마이그레이션 하면서 가장 많이 느낀 부분이에요
이전에도 전 충분히 폴더링을 잘한 것 같다고 생각했던 부분이였어요
그러나…. Tuist 로 마이그레이션 하면서 “아… 엉망이였구나 라고 느끼는 시간이 되었어요
예를 들어
(Utils 모듈) (Data 모듈)
| |
DateManager UserDateModel
이 둘의 모듈이 있다고 가정할게요
이때 DateManager 에서 UserDateModel 을 직접 알고 있고
UserDateModel 에서도 DateManager를 사용하는 경우라고 해볼께요
이때 저는 이런경우도 상관이 없을 것 같다고 생각했어요
하.지.만. Tuist 에서는 경고를 띄웁니다.
”두개의 모듈에서 순환참조를 하고 있습니다.”
이처럼 각 모듈간의 의존관계를 몸으로 느낄수도 있으며
시각적인 그래프로도 볼 수가 있어요!
tuist graph
or
tuist graph -d // 외부 종속성 Skip


마이그레이션 중 그래프 생성했던 사진이에요
다른 불로그에선 무작정 빌드속도가 빨라진다. 라는 글들이 꽤 많았어요
마이그레이션을 하다 보니 정작 빌드했을때 그런 기분이 안느껴 지더라구요
각각 나눈 모듈에서 작은 앱이 있어야 진짜 빌드가 빠르고
빠른 디버깅이 가능할 것 같은데 라는 생각이 들더라구요
그러긴 위해선 각 Home, BuyOrNot, MyPage 등 각 중심에게 DemoApp 을 생성하게 하도록 하였어요
그래프 1번째 사진을 보면 이를 수행하고 있죠


다음 시간엔 Tuist 2편 마이그레이션 과정기를 작성해 보려고 해요…
사실 이번 시간에 해야지 했는데
생각보다 길어질 것 같아서 Tuist Why? 먼저 진행하게 된것 같아요…
다음시간에 뵈용