ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Cocoa란?(Feat. iOS, macOS)
    ios/Etc 2022. 3. 5. 23:37
    728x90

    '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

    댓글

oguuk Tistory.