-
안녕하세요. 그린입니다!
이번 포스팅에서는 의존성 관리도구에 대해 알아보겠습니다.
의존성 관리도구?
: 앱 개발을 위해 외부 라이브러리 사용할 때 프로젝트와 해당 라이브러리의 상관관계를 용이하게 관리해주는 도구
: 필수는 아니나 사용하면 불필요한 공수가 줄어듬
-> 외부 라이브러리 가져다 쓸때 업데이트가 생겨 버전이 올라가면 라이브러리 교체해줘야되어 휴먼 에러가 날 수 있으나
해당 작업들을 의존성 관리도구를 이용하면 명령어 한줄 등 간단한 방법으로 해결됨
-. 의존성 관리 도구 장점
: 시간절약 및 안정성 보장
-. 언어별로 의존성 관리도구 다양
1) 자바에는 Maven
2) JS에는 Yarn, NPM
3) 파이썬 pyenv
—> 애플: 코코아팟, 카르타고, 스위프트 패키지 매니저-. Cocoa, CocoaTouch?
: 애플이 제공하는 앱 개발 환경을 의미
: macOS에서는 Cocoa, iOS에서는 Cocoa Touch로 불림
-. Cocoapods : OS X / iOS 앱 개발 시 사용되는 라이브러리 관리 도와주는 도구
: 설치 위해 Ruby gem 필요 (맥은 ruby 내장)
- 의존성 관리도구와 Git을 함께 사용할 때?
: 협업 시 의존성 관리도구를 팀원이 동일하게 설치하여야 되는점
: 버전을 명시해야함 (필요에 의해)
-. 의존성 관리도구를 어떤걸로 채택하고 사용하는게 좋을까?
: 애플이 지원한다는 최고의 장점을 가진 스위프트 패키지 매니저!
: 터미널을 키고 명령어를 입력하지않고 Xcode GUI 환경에서 관리가 가능하다
(기능상은 비슷해서 사용하기 편한 스위프트 패키지 매니저)
** 만약 다른 사람에게 넘겨줄때에는 어떤 저장소의, 어떤 버전의 라이브러리를 사용했는지만 전달해주면 된다.
저장소에다 다른 라이브러리 파일을 추가하지 않게 해줄려면 git ignore를 사용해주면 된다.
[참고자료]
https://medium.com/sunhyoups-story/swift에서-cocoapods-사용하기-2940916fa403
https://yagom.net/courses/open-source-library/lessons/의존성-관리도구란/
https://medium.com/@miles3898/의존성-관리-도구-dependency-manager-612047ced556
https://engineering.linecorp.com/ko/blog/improving-build-performance-line-ios-bazel/
'iOS' 카테고리의 다른 글
iOS File System (0) 2021.02.25 Responder Chain / Touch Event (0) 2021.02.22 CoreData (0) 2021.02.15 KeyChain (4) 2021.02.01 Collection View (0) 2021.01.25