[부스트 캠프] Tuist와 불편한 동거
·
iOS/Tuist
👋 들어가기 전네이버 부스트 캠프의 마지막 과정인 그룹 프로젝트에서 본격적으로 개발을 들어가다보니학습정리나 근황글을 쓸 여유가 정말 많이 부족했다.. 주말에도 프로젝트를 진행하고 조금의 여유는당연히 침대에서 쉬지 않으면 컨디션 관리가 안된다..  부스트 캠프 수료 1주일 전이 되서야 뒤를 돌아볼 시간이 생겨 오늘부터 조금 씩 정리 해보려 한다.🚧 Tuist를 그룹 프로젝트에 도입한 이유우리는 프로젝트 기획이 마무리 될 때 쯤 다들 이번 프로젝트에서 배우고 싶은 경험들을 이야기하는 시간을 가졌다. 정말 좋고 건설적인 주제들이 많이 나왔고 프로젝트 그 중에서도 "모듈화"라는 주제가 가장 많이 나왔다.다들 모듈화에 관심이 많았고 프로젝트를 통해 경험하고 싶다는 의견이 많았다. 하지만 여기서 나는 오히려 걱..
Tuist 탬플릿 만들기 (1) Make File
·
iOS/Tuist
make란?make는 소프트웨어 개발을 위해 유닉스 계열 운영체제에서 사용되는 프로그램 빌드 도구로써파일 간의 종속 관계를 파악하여 makefile에 적힌 순서대로 쉘이 순차적으로 실행한다 반복적인 명령을 자동화할 때 사용한다.MakeFile란?make문법에 맞춰 목적파일, 의존성, 명령어, 매크로 등을 활용하여 컴파일을 쉽게하기 위핸 make 설정 파일이다.구조는 다음과 같다.목적파일(Target): 명령어가 수행되어 나온 결과를 저장할 파일의존성(Dependency): 목적 파일을 만들기위해 필요한 재료명령어(Command): 실행되어햘 명령어들매크로(macro): 코드를 단순화 시키키 위한 축약 메서드 Tuist 템플릿에 갑자기 make ?? 내 생각으로는 Tuist를 통해 프로젝트를 만들 때 다양..
Tuist 구성 파일
·
iOS/Tuist
들어가기 전이번 학습에서는 Tuist의 디렉토리 구조와 함께 각 파일들의 역할을 알아보자.미리 보기 이렇게 구성되어있는 Tuist 세팅으로 다음 명령어를 입력해보면 다음과 같은 창이 열린다.tuist edit  // tuist 프로젝트 편집구성 Plugins 플러그인은 Manifests에 사용될 다양한 Plugin을 모아놓은 것Plugin은 모듈화를 위한 모듈 같은 느낌.. 모듈화를 위해 사용할 모듈들을 모아놓은 것여러가지 플러그인에 공통적으로 보이는 Plguin.swift 파일이 있다.Plguin.swift 파일은 말 그대로 해당 플러그인을 정의하는 곳Manifests에서 사용 시  import ~~Plugin을 하면된다.Manifests실질적으로 모듈들이 정의되는 공간 1) Projects.swift..
Framework vs Library
·
iOS/Tuist
들어가기 전이전 학습시간에 우리는 Tuist를 학습하기 전 프로젝트를 구성하는 다양한 개념들을 알아봤다. 학습 내용 중 product의 여럭 case중 library와 framework , static과 dynamic이라는 키워드가 보인다.한번 각 키워드가 의미하는 바가 무엇인지 알아보자.library정의프로젝트에 사용할 Source 코드 또는 데이터의 집합 , 즉 이미지 같은 resource들은 포함될 수 없다.종류종류는 다음과 같이 2가지로 나뉜다.  나누는 기준이 뭘까?링크되는 시점과 메모리 관리 방식 차이를 기준으로 나뉜다고 생각한다.static library dynamic library 한번 자세히 하니씩 알아보자. 1. static library컴파일 시 static linker를 통해 사용되..
프로젝트 생성 관련 사전 지식
·
iOS/Tuist
들어가기 전Tuist가 프로젝트를 구성하는 여러가지를 swift언어로 미리 구조화하고 그것을 기반으로 프로젝트 파일을생서하게 도와주는 tool인 것은 이전 시간에 확인했다. 그렇다면 프로젝트를 구성하는 여러가지 개념을 모른다면 Tuist를 사용하지 못한다는 것과 똑같다이게 Tuist가 러닝커브가 높은 이유 중 하나인 것 같다. 이번 학습은 프로젝트를 구성하는 여러가지 개념을 정리해보자.Projecttuist 공식 문서를 살펴보면 Xcode proejct를 생성하는 API라고 정의되어있다. 어떤 형태인지 살펴보자.public struct Project : Codable, Equatable { ... public init( // name: 생성되는 xcode 프로젝트 이름 ..
Tuist란?
·
iOS/Tuist
정의tuist 공식문서를 살펴보면 다음과 같이 정의 되어있다.CLI 툴프로젝트 생성대규모 모듈화 프로젝트의 유지보수 및 최적화스위프트로 작성정리하면 모듈화 프로젝트를 유지보수 및 최적화 하는 프로젝트 생성 CLI 툴이다.   장점swift로 모듈간의 의존성 관계를 정의할 수 있다.Project.swift를 통해 tuist를 통해 실행할 때 마다 xcodeproj파일을 생성하므로 협업 시 xcodeproj로 관련 충돌이 일어나지 않는다.별도의 자동화를 쉽게할 수 있다.그래프를 통해 모듈간 의존성을 시각적으로 보여줄 수 있다.tuist의 또 다른 장점은 프로젝트를 생성할때 Resources/ 안에 파일 확장자에 따라  다음과 같이 enum을 통해쉽게 접근할 수 있게 제공해준다는 점이다. 설치tuist 4.0..