본문 바로가기

공부/iOS

iOS 계층구조

 

하위계층은 iOS 의 핵심부분 또는 하드웨어에 가까운 기능을 가지고 있으며, 상위계층 그 다음 계층의 기능을 추상화한 인터페이스를 가지고있다.

 

Core OS

  • 하드웨어와 가장 가까이 있는 최하위 계층
  • iOS 의 거의 모든 기능의 기본적인 부분을 관리
  • C기반의 저수준의 API로 이루져 있음.
  • 데이터처리, 네트워크, 파일 접근 등 시스템의 핵심기능을 포함

Core Service

  • Core OS에서 제공하지 않는 기능들을 포함
  • 내부 데이터/위치/센서 등의 기능을 제공
  • CoreMotion(기기센서), Accounts (계정관리), Foundation(데이터 관리) 등의 기능을 제공

Media

  • 그래픽이나 오디오, 비디오 등 멀티미디어 기능을 제공
  • C 와 Objectice-C가 혼합되어 있는 상태임
  • AvFoundation(미디어 재생관련), MediaPlayer(플레이어), Core Image(이미지 가공) 등의 기능이 있음

Cocoa Touch

  • 화면의 그래픽 UI 및 터치의 기능을 제공
  • UIKit(UI구성,터치), MapKit(지도), MessageUI(메세지,이메일) 등의 기능이 있음

 


개발자가 가장 핵심이 되는 프레임워크 UIKit 과 Foundation

  • Foundation은 프로그램의 중심을 담당합니다. 쉽게 앱 내부의 모든 데이터를 관리한다고 생각하면 됨
  • Foundation에서 제공하는 클래스들은 모두 NS라는 이름으로 시작
  • Foundation 은 Core Foundation의 하위 프레임워크임

  • UIKit은 앱의 UI를 담당

 


Q. Cocoa Touch 블로그를 작성하는 도중에 Cocoa Touch의 가장 중요한 2가지가 UIKit, Foundation이라고 했는데 

Foundation framework는 Core Service 계층에 있다고???

A. Cocoa Touch는 모든 layer stack을 포함하는 우산과 같다고 하네요. ㅎㅎ 

그래서 Cocoa Touch 계층(layer)는 해당 스택 내의 특정 레이어이며 때로는 애플리케이션 전체의 레이어라고도 한다고 합니다.

https://stackoverflow.com/questions/36518852/foundation-framework-is-belong-to-coreservice-layer-or-cocoatouch-layer