iOS

CocoaTouch Framework란 무엇일까?

TaeJoongYoon 2018. 10. 23. 20:27

안녕하세요. ☁️ On the Swift의 윤태중입니다.


iOS를 공부하려 책을 핀 순간 나오는 Cocoa Touch Framework...


이건 도대체 무엇인지 아주 간략하게나마 이해하기 위해서 정리해보려 합니다!


# CocoaTouch Framework란 무엇일까?


먼저 Cocoa에 대해서 알아보면,

Cocoa는 Apple의 macOS용 API입니다. 간단하게 macOS의 운영체제 계층을 살펴보면 아래 그림과 같습니다.


[macOS의 운영체제 계층]



보시다시피 Cocoa Application Layer가 가장 상단에 위치하고 있습니다.


그래서인지 이 Cocoa Application Layer의 역할은


 앱의 모양 및 사용자 작업에 대한 애플리케이션의 응답성을 담당합니다.


또한 Notification Center, 전체 화면 모드 및 Auto Save와 같은 OS X 사용자 환경을 정의하는 등 많은 기능도 포함되어 있습니다.




하지만 저희는 macOS상에서 가 아닌 iOS상에서 앱을 개발하고


iOS를 사용하는 기기들은 모두 화면을 터치하는 동작이 포함되어 있습니다.


그래서 iOS에서의 Cocoa Framework는 Cocoa Touch Framework라고 호칭합니다.


아래는 iOS의 운영체제 계층입니다.



[iOS의 운영체제 계층]



iOS에는 macOS의 가장 low level layer인 Kernel and Device Drivers가 없네요...?


흠... 왜인지는 모르겠지만... 따로 iOS Kernel layer가 있는 건지 아니면


Core OS Layer에서 위의 기능을 담당하는 건지 좀 더 공부해야 할 것 같습니다... 😅




이렇게 보면 Cocoa와 Cocoa Touch가 아예 다른 Framework라고 느껴지는 것 같지만


어플리케이션의 동작을 담당하는 Layer라는 것은 같고


다만 쓰이는 환경(Cocoa - macOS, Cocoa Touch - iOS)만 다르다고 이해하고 좀 더 깊게 공부하면 될 것 같습니다.


또 다른 차이점은 Cocoa는 AppKit, Cocoa Touch는 UIKit 가 사용된다는 점....? 🙂


(저 둘의 차이도 나중에는 알아야겠죠...?)


그럼 Cocoa Touch에는 어떤 것들이 있을까요??

cocoa touch framework에 대한 이미지 검색결과

[Cocoa Touch Framework]



위 그림에서 보시다시피 Cocoa Touch에는


Multi-Touch Events 부터 View Hierarchy, 다양한 Picker 그리고 Camera기능까지 있습니다!!!


확실히 저희가 기본적인 앱을 만들때 필요한 기능들, 사용자와 바로 연결되는 기능들이


전부 Cocoa Touch Framework안에 있는 것 같습니다. 🙂


일단 저 기능들을 이해하고 손 쉽게 다룰수 있도록 연습부터 해야겠네요...ㅎㅎ




깊게는 아니지만 그래도 Cocoa Touch가 무엇이고 어떤 역할을 하는지 정말 간단하게 공부해봤습니다...


더 나은 iOS / macOS 개발자가 되려면 더 공을 들여서 알아가야겠죠.


뭐든지 중요한 건 기본이니까 한 번에 다 이해를 못 하더라도 나중에는 꼭 이해하도록


멈추지 않고 공부해야겠습니다! 🙂


Reference


Cocoa Application Layer




아직 모르는 것이 많고 알아가는 과정입니다.

잘못된 것이 있다면 댓글로 남겨주신다면 감사하겠습니다! 😊