Cocoa Touch Framework

ios앱을 만드는데 필요한 여러 개발도구를 포함하는 최상위(가장 프로그래머와 가까운) 프레임워크.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/06ebf47c-97a6-4936-9f32-4487a629d306/Untitled.png

자세히 설명된 사이트

https://medium.com/@zieunv/cocoa-touch-framework-bf78307c4a51

**https://velog.io/@wan088/iOS-프레임워크-CocoaTouch-Foundation-UIkit-sjjzdqmte4**

먼저 코코아(Cocoa)라는 단어는, NSObject를 상속받는 모든 클래스, 모든 객체를 가리킬 때 사용하는 단어다.

초기에 애플이 NeXT에서 이걸 샀을 때는 블루 박스라고 불리다가. 이제는 코코아라 불린다. Objective-C에는 C++ 같은 네임스페이스가 따로 없기 때문에, 충돌을 피하기 위해 보통 클래스의 이름 앞에 Prefix를 붙인다. Foundation Kit 프레임워크 클래스들은 덕분에 이름앞에 죄다 NS(NeXTSTEP에서 따와서 NS)를 붙여놓았다. NSString이라든지 NSArray라든지.

코코아라는 이름은 그당시 지금이상으로 핫했던 언어인 Java가 커피원산지에서 따온 이름이기 때문에, 애플 개발자는 어린아이도 할 수 있는 자바(Java for kids)라는 의미에서 코코아라고 이름지었다고 한다.

코코아 터치는 애플이 아이폰, 아이패드, 아이팟터치와 같은 제품의 소프트웨어 애플리케이션을 구축하기 위해 제공하는 사용자 인터페이스 프레임워크다. 주로 Object C 언어로 작성되었으며 Mac OS X에 기반을 두고 있다. 코코아 터치는 모델 뷰 컨트롤러 소프트웨어 아키텍처를 기반으로 개발되었다. 코코아 터치에서 이용할 수 있는 높은 수준의 응용 프로그램 프로그래밍 인터페이스는 애니메이션, 네트워킹, 그리고 코드 개발을 덜 하고 개발된 응용 프로그램에 기본 플랫폼의 모양과 동작을 추가하는 것을 돕는다.

참고로 비슷한 이름의 코코아 프레임워크는 macOS 개발 환경을 위한 프레임워크라고 한다. 그렇기 때문에, 아이폰, 아이패드 등의 터치기반의 iOS 개발환경에 코코아 터치 프레임워크라는 이름이 붙게된 것 같다.