iOS) 용어정리 - Cocoa & Cocoa Touch

송태환·2020년 5월 12일
0

iOS 기초

목록 보기
5/6
post-thumbnail

아래 내용은 애플 공식문서의 내용 중 Cocoa Core Competencies 을 번역한 내용입니다.
번역에 일부는 주관적인 해석이 들어가 있어 해석, 원문 순으로 언급하고 있습니다.

원문 출처: Apple Official Documentaiton

Cocoa (Touch)

CocoaCocoa Touch 는 각각 OS XiOS 앱 개발환경을 의미합니다. CocoaCocoa Touch 모두 Object-C runtime 과 두 개의 코어 프래임워크를 포함하고 있습니다.

CocoaFoundationAppKit 프래임워크 를 포함하고 OS X 앱 개발에 사용되고 Cocoa TouchFoucndationUIKit 프래임워크를 포함하고 iOS 앱 개발에 사용 됩니다.

Cocoa 는 일반적으로 최상위 클래스가 NSObject 이고 Object-C 런타임에 기반을 두는 클래스나 객체를 의미하는 단어로 사용되어 왔지만, Cocoa (iOS), Cocoa Touch (Mac) 는 각 플랫폼의 인터페이스를 사용하는 앱개발을 의미하기도 합니다.

The Frameworks

Foundation 프래임워크는 최상위 클래스이자 기본이 되는 propertymethod 들을 정의하는 NSObject를 구현합니다. 이외에 string, number 와 같은 원시타입 클래스와 arrays, dictionaries 와 같은 콜렉션 클래스도 구현합니다.

Foundationinternationalization, object persistence, file management 그리고 XML processing 기능도 제공합니다. 해당 클래스들을 사용해 ports threads locks, processes 와 같은 기본적인 시스템 객체와 서비스에 접근할 수 있습니다.

FoundationANSI C 인터페이스를 통해 사용할 수 있는 Core Foundation 프래임워크에 기반을 두고 있습니다.

Foundation is based on the Core Foundation framework, which publishes a procedural (ANSI C) interface.

앱의 UI를 만드는데 AppKit, UIKit 프래임워크를 사용합니다. 이 두 프래임워크는 사용 목적은 동일하지만 특정 플랫폼에서 사용된다는 점에서 다릅니다. 두 프래임워크 모두 event handling, drawing, image-handling, text processing, typography, interapplication data transfer 클래스를 포함하고 있습니다. 또한 table views, sliders, buttons, text fields, alert dialogs 와 같은 UI 요소들도 포함하고 있습니다.

The Language

Object-CCocoaCocoa Touch 앱 개발의 네이티브 언어입니다. 그렇지만 각 프로젝트에 C++ANSI C 코드도 포함 시킬 수 있습니다. 게다가 PyObjCRubyCocoa 와 같이 다른 언어를 Object-C 런타임으로 브릿지시켜 사용하는 스크립트 언어로도 Cocoa 앱을 개발할 수 있습니다.

profile
호기심 많은 개발자

0개의 댓글