728x90
※출처 - 꼼꼼한 재은씨의 Swift: 실전편
코코아 터치 프레임워크 (Cocoa Touch Framework)
- 아이폰, 아이패드, 애플워치 등 애플의 모바일 기기에서 구동되는 애플리케이션을 개발할 때 사용하는 통합 프레임워크
- 모바일 기기에서 필요한 기능, 동작 구조, UI를 구성하는 기본적 객체들을 담고 있는 프레임워크
- 앱은 직접 하드웨어의 모듈에 접근하는 것이 아니라 iOS 인터페이스를 이용하는데 코코아 터치 프레임워크가 iOS 인터페이스
- 기존의 코코아 프레임워크에서 AppKit 프레임워크를 걷어내고 UIKit을 대신 추가
파운데이션 프레임워크 (Foundation Framework)
- 애플리케이션의 중심이자 기능적인 면을 담당하는 프레임워크
- 기본 자료형을 포함한 자료구조, 객체 지향 처리와 연산, 각종 구조체, 타이머, 네트워크 통신 등의 기능을 처리
- 모바일 애플리케이션으로서의 특징적 기능에 직접 연관되지 않은 기능들을 처리
- 이 프레임워크에 속한 객체들은 이름이 모두 NS라는 키워드로 시작
- Swift에서는 NS 키워드가 걷혀짐
UIKit 프레임워크
- 화면, UI, 앱의 동작 등 모바일 애플리케이션으로서의 기능 구현을 담당
- 화면에 표현되는 콘텐츠, 컨트롤 객체를 보유
- 화면의 구조 관리, 사용자와의 상호반응, 모바일 디바이스의 화면 변경에 따른 이슈까지 관여
- 앱의 특성에 해당하는 기능들 처리
- 핵심객체
- 윈도우 (Window)
- 뷰 (View)
- 뷰 컨트롤러 (View Controller)
프레임워크의 계층 관계
- 코코아 터치 프레임워크를 이루는 작은 단위의 프레임워크들은 계층 관계를 이룬다.
- 상위 계층의 프레임워크일 수록 사용자에게 가깝고 구체적으로 구현되어 있음 (구체화 되어 있다)
- 개발이 쉽다.
- 하위 프레임워크에 의존적이다. (하위 프레임워크 + 구체적인 기능)
- 하위 계층에 속한 프레임워크는 추상적이고 하드웨어 쪽에 가깝다.
- 개발이 어렵지만 다양한 형태로 확장 가능
iOS에서의 프레임워크 계층 구조
1. 코어 OS 계층
- 커널, 파일 시스템, 네트워크, 보안, 전원 관리, 디바이스 드라이버 등 포함
- 개념적으로 하드웨어와 연결
- iOS가 운영 체제로서 기능을 하기 위한 핵심적인 영역
2. 코어 서비스 계층
- 문자열 처리, 데이터 집합 관리, 네트워크, 주소록 관리, 환경 설정 등의 핵심적인 서비스들을 하는 프레임워크들이 속함
- GPS, 나침반, 가속도 센서, 자이로스코프 센서 등의 하드웨어 특성에 기반한 서비스 제공
- 종류
- Foundation Framework
- Core Foundation Framework
- Core Location
- Core Motion
- Core Animation
- Core Data
3. 미디어 계층
- 코어 서비스 계층에 의존적
- 코코어 터치 계층에 그래픽 관련 서비스, 멀티미디어 관련 서비스 제공
- EX) mp4와 같은 비디오 파일을 재생할 때 관여
- 종류
- Core Graphics
- Core Text
- Core Audio
- Core Animation
- AV Foundation
4. 코코아 터치 계층
- 애플리케이션 프레임워크 계층
- 애플리케이션을 직접 지원하는 역할
- 애플리케이션과 연결
- 종류
- UIKit Framework
- Game Kit
- Map Kit
728x90
'iOS > 설명' 카테고리의 다른 글
[iOS] 프로퍼티 리스트 (Property List) (0) | 2021.04.25 |
---|---|
[iOS] UIControl (0) | 2021.04.25 |
[iOS] present로 화면 이동 시 full screen으로 이동 (0) | 2021.02.03 |
[iOS] frame과 bounds의 차이 (0) | 2021.01.21 |
[iOS] UIView의 clipToBounds (0) | 2021.01.21 |
댓글