개발자 툴 및 기술
Mac OS X과 iPhone OS의 강력함을 활용한 Cocoa 및 Cocoa Touch 프레임워크는 Xcode 개발 환경과 긴밀하게 통합되어 있습니다. Cocoa의 높차원적인 API는 몇 줄의 코드 만으로도 쉽게 여러분의 응용 프로그램에 애니메이션, 네트워킹, 네이티브 플랫폼 형태와 동작을 추가할 수 있게 해 줍니다.
Cocoa & Cocoa Touch 프레임워크
Cocoa 프레임워크는 Mac OS X을 위한 개발 레이어를 구성하는 라이브러리, API, 런타임으로 구성되어 있습니다. 여러분은 Cocoa를 이용하여, UNIX 운영체제의 바탕에 깔린 강력함을 십분 활용하면서 Mac OS X을 제작했던 것과 동일한 방법으로 응용 프로그램을 제작하게 될 것입니다. Xcode IDE와 Cocoa를 함께 사용하는 것은 한마디로 순수 Mac 응용 프로그램을 제작할 수 있는 최고의 방법입니다.
iPhone OS를 위한 Cocoa Touch 프레임워크는 iPhone 상의 터치 기반 모바일 환경에 맞게 튜닝된 것으로, 거의 비슷한 기능을 제공합니다.
Objective-C를 활용한 Cocoa의 유연성
Cocoa의 대부분은 진정한 동적 런타임으로 응용 프로그램의 이벤트를 실행하는 객체 지향 프로그래밍 언어인 Objective-C로 실행됩니다.
여러분의 응용 프로그램이 구동될 때, Objective-C 런타임은 로직의 실행에 기반한 오브젝트를 인스턴스화합니다. 이는 컴파일 시에 정의된 방법과는 다릅니다. 예를 들면, 구동중인 Objective-C 응용 프로그램은 인터페이스(Interface Builder로 제작된 nib 파일)를 로드하고, 인터페이스의 Cocoa 오브젝트를 여러분의 응용 프로그램 코드와 연결하고, UI 버튼이 눌리면 올바른 메쏘드를 구동할 수 있다는 것입니다. 재컴파일 과정을 필요로 하지 않습니다.
Objective-C가 C의 수퍼셋이기 때문에, Cocoa 응용 프로그램에 C와 심지어는 C++까지도 쉽게 혼합하여 사용할 수 있습니다.
Objective-C의 동적 런타임은 다수의 현대적 스크립팅 언어와도 유사하므로, Cocoa의 기능을 Cocoa Bridge를 사용하는 기타 언어에 맵핑하는 것이 쉽습니다. Cocoa Bridge를 이용하여, 개발자들은 Apple Script, Ruby, Python으로도 최고급 Mac OS X 응용 프로그램을 제작할 수 있습니다.
Cocoa가 사용하는 Model-View-Controller 설계 패턴
Cocoa는 전체적으로 Model-View-Controller (MVC) 설계 패턴을 사용합니다. 모델은 응용 프로그램 데이터를 감싸고, 뷰는 그 데이터를 보여주고 편집하며, 컨트롤러는 모델과 뷰 사이의 로직을 중개합니다. 이와 같은 방법으로 책임을 분산함으로써, 제작하려는 응용 프로그램의 설계, 실행, 유지 보수를 훨씬 용이하게 만들 수 있습니다.
MVC 패턴은 Interface Builder로 코드를 작성 및 생성시킬 필요가 없이, 응용 프로그램의 화면에만 집중할 수 있게 해 줍니다. Mac과 긴밀하게 연결되어 있는 Cocoa는 Xcode로 코딩한 컨트롤러와 Interface Builder로 설계한 화면을 그래픽적으로 "와이어링"하는 것만으로 간단하게 연결하므로, 접착제 역할을 하는 코드를 작성할 필요가 없습니다. Interface Builder는 Cocoa와 호환되어 여러분의 응용 프로그램을 쉽게 로컬라이징할 수 있게 하므로 완벽하게 새로운 시장에 민첩하게 진입할 수 있습니다.




