iyOmSd/Title: Swift

[Swift] iOS 프레임워크 구조

냄수 2020. 11. 11. 19:16
반응형

iOS의 기본적인 구조는 이렇게 이루어져있어요

각 계층별로 하나하나 살펴볼게요

 

우선

최상위에

Cocoa / Cocoa Touch

가있는데 차이가뭘까요??

 

Cocoa라는 단어가 붙으면 우선

Objective-C Runtime을 기반으로 NSObject를 상속 받는 모든 클래스, 모든 객체를 가리킬 때 사용 하는 단어구요

 

Cocoa Framework는

Foundation, AppKit 프레임워크를 포함하고

macOS를 개발할 때 사용하는 프레임워크에요

 

Cocoa Touch Framework는

Cocoa가 붙었죠? 위에서 설명한거에 더해서

앱의 다양한 기능구현에 필요한 다양한 핵심프레임워크(UIKit, Foundation, CoreData, CoreAnimation…)을 포함하는

최상위 레벨 프레임 워크에요

iOS개발에 사용해요

 

 

어? 근데

이 그림만 보면

Foundation이나 CoreData이런게 없는데요??

 

Cocoa Touch 계층

최상위 프레임워크구요

그 아래에 있는 것들을 불러와요

예시로 UIKit에 제일 위에를 보면

이렇게 Foundation을 불러와서 사용하는 식으로 앱을 개발할 수있도록

집합체를 준비해놓은거죠!

 

UIKit는

iOS의 UI를 담당해요

이벤트 처리나, 뷰 그리기, 데이터전송, 등

앱을 개발하는데 필수적인 기능들을 가지고있어요

 

Foundation은

Swift표준 라이브러리에서의 기본적인 타입에 없는 기능을 사용 할 수있어요

Foundation가 제공하는 클래스는 NS라는 이름으로 시작하구요

Sorting, Date, Time, Collection타입, String의 일부기능이 있어요

 

 

Media 계층

그래픽 관련 서비스나 오디오와 비디오 같은 멀티미디어 관련 서비스를 제공해줘요

 

 

 

 

Core Service 계층

앱에 필수적인 서비스를 제공하지만 앱의 사용자 인터페이스와 직접적인 관계가 없고

문자열 처리, 데이터 집합, 네트워크, 주소록, 환경설정, 등
GPS, 
가속도 센서 등 디바이스 하드웨어 특성에 기반한 서비스도 제공해요

XML Parsing, Keychain, Notification Center, StoreKit, Security, GCD, 등 다양한 기능을 제공해줘요

 

 

Core OS 계층

하드웨어와 네트워크와 관련된 low-level의 서비스를 제공해줘요

커널, 파일 시스템, 네트워크, 보안, 전원관리, 환경설정 등의 기능이 있어요

 

 

 

 

 

반응형