CocoaTouch Framework란 무엇일까?
안녕하세요. ☁️ On the Swift의 윤태중입니다.
iOS를 공부하려 책을 핀 순간 나오는 Cocoa Touch Framework...
이건 도대체 무엇인지 아주 간략하게나마 이해하기 위해서 정리해보려 합니다!
# CocoaTouch Framework란 무엇일까?
[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에는
Multi-Touch Events 부터 View Hierarchy, 다양한 Picker 그리고 Camera기능까지 있습니다!!!
확실히 저희가 기본적인 앱을 만들때 필요한 기능들, 사용자와 바로 연결되는 기능들이
전부 Cocoa Touch Framework안에 있는 것 같습니다. 🙂
일단 저 기능들을 이해하고 손 쉽게 다룰수 있도록 연습부터 해야겠네요...ㅎㅎ
깊게는 아니지만 그래도 Cocoa Touch가 무엇이고 어떤 역할을 하는지 정말 간단하게 공부해봤습니다...
더 나은 iOS / macOS 개발자가 되려면 더 공을 들여서 알아가야겠죠.
뭐든지 중요한 건 기본이니까 한 번에 다 이해를 못 하더라도 나중에는 꼭 이해하도록
멈추지 않고 공부해야겠습니다! 🙂
Reference
아직 모르는 것이 많고 알아가는 과정입니다.
잘못된 것이 있다면 댓글로 남겨주신다면 감사하겠습니다! 😊