본문 바로가기

공부/iOS

iOS - Cocoa Touch Framework

안녕하세요.

문득 개발을 하면서 사용하는 프레임워크, 클래스, 라이브러리등을 잘 사용하고 있나 궁금하더라구요.

그래서 보이는거 하나씩 정리해보려고 해요.

이번에는 제일 최상위 프레임워크라고 하는 Cocoa Touch Framework를 정리해보려고 해요.

제가 알고있는 내용을 아주 간단하게 정리해보고 Cocoa Touch Framework 공부를 시작해볼게요!

- iOS 개발환경으로 애플리케이션의 기능 구현에 필요한 여러개의 개발 도구를 포함하는 최상위 프레임워크이다.
- 핵심되는 프레임워크는 2가지로 UIKit와 Foundation이다.
- Cocoa 는 mac용 Cocoa Touch는 iOS용 이다.

이정도인데요.
UIKit과 Foundation의 제가 아는 내용은 다음 블로그 UIKit, Foundation에서 포스팅 할게요.

그러면 이제 다른곳에서 조금더 자세하게 알아보겠습니다~ 

시작!


Cocoa Framework 의 역사

NeXT라는 회사에서 NextStep이라는 프레임워크를 만들었는데 이것을 애플에서 사와서 맥 프로그래밍 환경에서 동작하는 Cocoa Famework 프레임워크로 만들었습니다.
그러다가 아이폰이 나오면서 Cocoa Touch Framework까지 만들었습니다. 

저희가 자주사용하는 NSString의 앞에 NS는 NextStep의 약자입니다.
(CFNumber 은 Core Foundataion CGFrame 은 Core Graphics 의 약자라는거.. 알고계셨나요?)

앞에 NS를 붙이는 이유는 Objective-C는 네임스페이스가 따로 없어서 충돌을 피하기 위해 클래스의 이름 앞에 prefix(접미사)를 넣었습니다.

 

 


 

- iOS 개발환경으로 애플리케이션의 기능 구현에 필요한 여러개의 개발 도구를 포함하는 최상위 프레임워크이다.

 

- 코코아 터치는 코코아와 마찬가지로 주로 Objective-C언어로 작성되어 있다. 

- MVC 소프트웨어 아키텍처를 따른다.

- 코코아 터치는 iPhone,iPad, iPod Touch 의 운영체제인 iOS의 추상화 레이어를 제공합니다.
(iOS의 레이어(계층구조)는 저번 블로그 2020/06/04 - [공부/iOS] - iOS 계층구조 에서 볼 수 있어요.) 

- 메인기능으로는 
App Extension, UIKit Dynamics, APNS, AirDrop등이 있으며
메인 프레임워크로는 
Foundation Kit, UIKit, Notification Center, MapKit 등이 있습니다.

- Foundation, UIKit, Mapkit 같은 Cocoa Touch Framework는 MIT 라이센스를 따릅니다.
(띠용? 그렇구나..? )



이렇게 몇몇 블로그와 위키의 정보를 찾아서 정리해봤는데요.
제가 알고있는 내용에서 추가된 내용은 많이 없어서 아쉽기도 하면서 잘 알고 있었구나 한 오묘한 기분이 드네요 ㅋㅋ

그러면 다음에는 UIKit이나 Foundation에 대해서 정리해볼게요. !

 

출처

namu.wiki/w/Cocoa(API)

en.wikipedia.org/wiki/Cocoa_Touch

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

daheenallwhite.github.io/ios/2019/07/17/ios-framework/