Cocoa 프레임워크

OS X 및 iOS를 구동하는 Cocoa 및 Cocoa Touch 프레임워크는 Xcode 개발 환경에 밀접하게 통합되어 있습니다. Cocoa의 상위 수준 API는 단 몇 줄의 코드만으로 애니메이션, 네트워킹, 기본 플랫폼 외관 및 동작을 응용 프로그램에 손쉽게 추가할 수 있도록 해 줍니다.

Cocoa 프레임워크

Cocoa 프레임워크는 모든 OS X에 대한 개발 레이어를 형성하는 라이브러리, API 및 런타임으로 구성되어 있습니다. Cocoa를 사용하여 개발하면 OS X 자체가 만들어진 방식과 동일한 방식으로 응용 프로그램을 만들 수 있습니다. 응용 프로그램은 UNIX 운영 체제의 기본적인 파워를 최대한 이용하면서 OS X의 뛰어난 동작과 외관을 자동으로 물려받게 됩니다. 기본 Mac 응용 프로그램을 만들 수 있는 가장 간단하고 좋은 방법은 Cocoa와 Xcode IDE를 함께 사용하는 것입니다.

Objective-C의 강점

Cocoa의 대부분은 놀라운 속도로 실행되도록 컴파일된 대상체 지향적인 언어인 Objective-C로 구현되어 있으면서도, 진정으로 동적인 런타임을 채택하여 고유한 유연성을 제공합니다. Objective-C는 C의 상위 집합이므로 C와 C++를 Cocoa 응용 프로그램에 쉽게 접목할 수 있습니다.

응용 프로그램이 실행될 때 Objective-C 런타임은 컴파일되는 동안 정의된 방식이 아닌, 로직 실행에 기반하여 대상체를 인스턴스화합니다. 예를 들어 Objective-C 응용 프로그램을 실행하면 인터페이스(Interface Builder에서 생성된 nib 파일)를 로드하고 인터페이스의 Cocoa 대상체를 응용 프로그램 코드에 연결한 다음, UI 단추를 누르면 올바른 메서드를 실행할 수 있습니다. 다시 컴파일할 필요는 없습니다.

모델 뷰 컨트롤러 디자인 패턴을 사용하는 Cocoa

전반적으로 Cocoa는 MVC(모델 뷰 컨트롤러) 디자인 패턴을 사용합니다. 모델은 응용 프로그램 데이터를 캡슐화하고, 뷰는 데이터를 표시하고 편집하며, 컨트롤러는 이 둘 사이의 로직을 중재하는 역할을 합니다. 이런 식으로 맡은 역할을 분리함으로써 응용 프로그램을 손쉽게 디자인하고, 구현하고, 유지할 수 있게 됩니다.

MVC 패턴은 Interface Builder에 코드가 필요 없음을 의미합니다. 즉, 응용 프로그램의 뷰에 주력하여 작업하는 동안 작성하거나 생성할 코드가 없는 것입니다. Mac의 Cocoa 바인딩은 글루 코드 대부분을 제거하므로, Xcode로 코딩된 컨트롤러와 Interface Builder 내에서 디자인된 뷰를 그래픽으로 간단하게 '연결'할 수 있습니다. Interface Builder와 함께 Cocoa를 사용하면 응용 프로그램의 현지화를 용이하게 하여 새로운 시장에 대한 진입 장벽을 빨리 허물 수 있습니다.

기능 목록: 범주별 프레임워크

Cocoa에는 AppKit와 Core Foundation과 같은 주요 프레임워크가 포함되어 있습니다. 이러한 프레임워크는 모든 Mac 응용 프로그램에 공통적으로 사용되는 구성 블록뿐만 아니라 네트워킹 및 데이터에서 그래픽 및 전문가용 오디오 처리에 이르기까지 모든 부분에 맞게 특화된 프레임워크를 제공합니다. 이러한 프레임워크는 단 몇 줄의 코드만으로 놀라운 효과를 만들어 낼 수 있는 상위 수준 Objective-C API에서 핵심 시스템의 모든 부분을 조작할 수 있는 하위 수준 프레임워크에 이르기까지 다양합니다. 아래는 Cocoa에서 제공하는 사용 가능한 프레임워크의 일부 샘플입니다.

오디오 및 비디오

  • AV Kit
  • AV Foundation
  • Core Video
  • Core Audio
  • Audio Unit

데이터 관리

  • Core Data

그래픽 및 애니메이션

  • Core Animation
  • Core Image
  • OpenGL
  • Scene Kit
  • Sprite Kit
  • Quartz

네트워킹 및 인터넷

  • Bonjour
  • 디렉토리 서비스
  • Kerberos

사용자 응용 프로그램

  • 주소록
  • 캘린더 저장소
  • 인스턴트 메시지