iOS

의존성 관리도구

GREEN.1229 2021. 2. 18. 20:12

안녕하세요. 그린입니다!

이번 포스팅에서는 의존성 관리도구에 대해 알아보겠습니다.

의존성 관리도구?

: 앱 개발을 위해 외부 라이브러리 사용할 때 프로젝트와 해당 라이브러리의 상관관계를 용이하게 관리해주는 도구

: 필수는 아니나 사용하면 불필요한 공수가 줄어듬

 -> 외부 라이브러리 가져다 쓸때 업데이트가 생겨 버전이 올라가면 라이브러리 교체해줘야되어 휴먼 에러가 날 수 있으나

      해당 작업들을 의존성 관리도구를 이용하면 명령어 한줄 등 간단한 방법으로 해결됨

 

-. 의존성 관리 도구 장점

: 시간절약 및 안정성 보장

 

-. 언어별로 의존성 관리도구 다양

 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/

https://magi82.github.io/ios-regist-cocoapods/