-
Cocoa란?(Feat. iOS, macOS)ios/Etc 2022. 3. 5. 23:37728x90
'Cocoa'라는 단어는 objc(Objective-C) 런타임을 기반으로하고, NSObject를 상속받는 모든 클래스 또는 객체를 가리킬 때 사용
코코아 터치 계층(Cocoa Touch Layer)
Cocoa Touch Layer는 iOS 애플리케이션 개발에 주 축을 이루는 개발환경으로, 애플리케이션의 다양한 기능 구현에 필요한 여러 프레임워크(UIKit, Foundation 등)를 포함하는 최상위 프레임워크 계층이다.(Cocoa Layer는 macOS 애플리케이션 제작에 사용)
- iOS용 애플리케이션 개발 환경
- Objective-C 런타임과 두 가지 핵심 프레임워크가 포함되어 있음
- MVC 소프트웨어 아키텍처를 따름
iOS APP *Cocoa Touch* Media Core Service Core OS iOS구조
Hardware Cocoa Touch
- 화면의 그래픽 UI 및 터치의 기능을 제공한다.
- Core Animation, Multi Tasking, Gesture Recognizers라는 주요한 기능과 기술을 가진다.
- UIKit, Foundation, CoreData, MapKit, CoreAnimation,GameKit, iAd 프에임워크 등이 있다.
Media
- 비디오나 오디오 그래픽 애니메이션을 구현할 수 있는 API가 있다.
Core Service
- GPS나 SQLite Core Foundation 같은 API가 있다.
- 내부 데이터/위치/센서 등의 기능을 제공한다.
- 기기센서, 계정관리, 데이터 관리 등의 기능을 제공한다.
Core OS
- 하드웨어와 가장 가까이 있는 최하위 계층으로 시스템의 핵심 기능을 포함하는 기본적인 부분들을 관리한다.
- 메모리나 네트워크 각종 파일 등을 관리하는 API가 있다.
코코아
Cocoa 는 macOS에서 실행되는 앱을 개발하기 위한 API이며 여러 프레임워크가 포함한다. Foundation, AppKit, Core Data 등이 있고 이들은 C, ANSI C, C++, Objective-C, Swift 로 구현되어 있다.
- Cocoa는 OS X 애플리케이션 개발 환경
- Objective-C 런타임과 두 가지 핵심 프레임워크가 포함되어 있음
import AppKit import CoreData import Foundation
macOS APP *Cocoa(Application)* Media Core Services Core OS Kernel and Device Drivers macOS 구조
Hardware Cocoa (Application)
앱의 사용자 인터페이스를 구성할 수 있고, 사용자 이벤트에 대한 응답이나 앱의 행동을 관리한다.
- APPkit
Media
재생, 녹음, 편집 등 미디어와 2D, 3D 그래픽을 다루는데 사용한다.
Core Services
low-level 네트워크 통신, 문자열 조작 및 데이터 형식까지 기초적인 서비스를 포함한다.
- Foundation
- Core Data
Core OS
CPU, GPU 등 하드웨어, 네트워크와 관련된 인터페이스를 정의한다.
Kernel and Device Drivers
드라이버, BSD 라이브러리 등 low-level 구성 요소 등 Mach Kernel 환경을 구성한다.
참고
https://yurimac.tistory.com/42
https://en.wikipedia.org/wiki/Cocoa_(API)
https://www.boostcourse.org/mo326/lecture/17994?isDesc=false
728x90'ios > Etc' 카테고리의 다른 글
@escaping (0) 2022.05.14 Concurrency & Threading (0) 2022.04.08 Swift 메모리 관리: ARC (0) 2022.03.22 GoF Design Pattern (0) 2022.03.06 Life Cycle (0) 2022.02.23