Cocoa와Cocoa Touch는 애플 기기에서 앱을 개발할 때 사용하는 통합 프레임워크다.
Cocoa는 macOS용 애플리케이션 개발 환경 프레임워크로 핵심 프레임워크는 Foundtation과 Appkit이 포함되어 있다.
Cocoa Touch는 iOS용 애플리케이션 개발 환경 프레임워크로, 핵심 프레임워크는 Foundation과 UIKit이 포함되어 있다.
두 프레임쿼으 모두 CoreData, MapKit, CoreAnimation등 다양한 기능을 포함하고 있다.
Foundation 프레임워크는 iOS, macOS, tvOS 등에서 사용할 수 있는 애플의 핵심 프레임워크 중 하나이다. 데이터 저장, 텍스트 처리, 날짜 및 기산 계산, 네트워킹 등의 기능을 제공한다.
(NSString, NSNumber, NSArray, NSDictionary...등)
NS접두사: NS는 NeXTSTEP을 축약한 것으로, 많은 기본 클래스들이 NeXTSTEP에서 정의되었다. Objective-c에서 종종 NS접두어가 붙는 이유이다.
UIKit은 iOS에서 GUI를 구성하고 사용자 이벤트를 처리하는데 필요한 클래스와 프로토콜 등을 제공하는 프레임 워크이다.
UIKit의 내부에서 Foundation을 import하고 있기 때문에 UIkit을 import 했다면 Foundation을 import할 필요가 없다.
UIKit은 다양한 UI요소들과 뷰, 윈도우, 뷰 컨트롤러 등을 제공한다.
또한, 터치 이벤트를 처리하는 제스처 인식기(Gesture recognizer)와 애니메이션 기능도 포함한다.
애플리케이션을 개발하려면 Cocoa나 Cocoa Touch와 같은 프레임워크를 잘 이해하고 사용할줄 알아야 한다. 그 중에서도 Foundation과 UIKit프레임워크가 iOS개발의 핵심이다