[LEVEL 1] 12 - Dependency Manager #28
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
issue #14
12. Dependency Manager
의존성 관리 도구(CocoaPods, Carthage, Swift Package Manager)의 종류와 차이점은 무엇인가요?
의존성 관리 도구는 iOS 프로젝트에서 외부 라이브러리를 효율적으로 관리하기 위한 필수적인 도구입니다.
각 도구의 사용 방법과 장단점을 설명해주세요.
하지만 별도의 워크스페이스를 생성하고 빌드 시간이 늘어날 수 있다는 단점이 있습니다.
하지만 상대적으로 새로운 도구이기 때문에 지원하는 라이브러리가 적을 수 있습니다.
의존성 관리를 통해 얻을 수 있는 이점은 무엇인가요?
CocoaPods의 Podfile과 같이� 사용하는 외부 라이브러리들에 대한 구체적인 버전을 명시하기 때문에, 협업 간에 동일한 개발환경에서 개발이 가능해집니다.
각 의존성 관리 도구별로 업데이트를 위한 편리한 기능들을 제공합니다. 예를 들어 CocoaPod의 경우 pod install 명령어가 있습니다. 이로안해 모든 의존성의 업데이트 관리가 용이해집니다.
라이브러리와 프레임워크 간의 차이점은 무엇인가요?
두 개념의 가장 큰 차이점은 주도권이 누구에게 있느냐입니다.
프레임워크 React Native와 같이 스스로 제어 흐름의 주도성을 갖고 있지만, 라이브러리의 경우 개발자가 주도성을 갖고 제어 흐름을 제어합니다.