참고하면 좋은 글 - [개발상식] 프레임워크(Framework) 와 라이브러리(Library)의 차이
프레임워크
프레임워크는 말 그대로 일 할 수 있는 최소 단위가 다 갖추어진 코드를 제공하는 집합체다.
iOS의 경우 애플에서 제공하는 대표적인 프레임워크로는 Cocoa Touch Framework / Cocoa Framework 가 있으며
이 둘의 차이는 iOS 개발에는 Cocoa Touch Framework 를
MacOS 개발에는 Cocoa Framework 를 사용한다
라이브러리
여러번 반복해서 사용할 것 같은 코드(혹은 함수)들을 모아놓은 집합체다. iOS App 개발을 하면서 대표적으로 사용하는 라이브러리로는 SnapKit, Alamofire, Moya 등이 있다. 따라서 개발하다가 '어? 이거 다른 프로젝트에서도 유용하게 쓸 것 같은데...?' 라고 생각해 따로 코드를 저장하여 가져다가 사용한다면 그 코드 또한 라이브러리라고 말할 수 있다.
차이
프레임워크와 라이브러리는 결국 코드의 집합체라고 하는데, 둘의 결정적인 차이는 무엇일까?
바로 코드를 제어하고 호출하는 주도권의 차이다.
프레임워크는 이미 정해진 룰 안에서 스스로 동작하는 코드다. 사용자가 프레임워크가 제공하는 인터페이스 안에서 필요한 코드를 작성하면 프레임워크는 사용자가 작성한 코드를 '호출하여' 동작한다. iOS 개발 시 대표적인 예로는 프로젝트를 생성하여 만들어진 ViewController를 우리 의도에 맞게 작성한 코드가 있다.
라이브러리는 스스로 동작하지 않는다. 항상 개발자를 통해 코드가 호출되어야 하며 작성되는 코드는 프레임워크 안에서 작성되어 동작한다.
'iOS' 카테고리의 다른 글
Dynamic Color - 다크모드 (0) | 2023.06.15 |
---|---|
UIView - Content Hugging, Content Comporession Priorities (0) | 2023.06.07 |
[iOS] 오토 레이아웃(Auto Layout) (0) | 2022.03.21 |
UI구현은 스토리보드로 하는게 나을까 코드로 하는게 나을까? (0) | 2021.12.10 |
[iOS] UILabel에 취소선 (strikethroughStyle) 적용하기 (0) | 2021.10.09 |