면접 질문 : iOS 앱을 만들고, User Interface를 구성하는 데 필수적인 프레임워크 이름은 무엇인가?
UIKit
•
iOS Application에서 User Interface를 구현하고 관리하는 프레임워크
◦
UIKit Framework는 Gesture 처리, Animation, 그림 그리기, 이미지 처리, 텍스트 처리 등 User Event 처리물
◦
TableView, Slider, Button, TextField, Alert 등 Application의 화면을 구성하는 요소 포함
◦
UIResponder에서 파생된 클래스나 User Interface에 관련된 클래스는 Application의 Main Thread(Main Dispatch Queue) 에서만 사용해야 한다.
◦
iOS, tvOS에 사용
•
User Interface
◦
View and Control
▪
화면에 컨텐츠 표시
◦
View Controller
▪
사용자 인터페이스 관리
◦
Animation and Haptics
▪
애니메이션과 햅틱을 통한 피드백 제공
◦
Window and Screen
▪
뷰 계층을 위한 윈도우 제공
•
User Action
◦
Touch, Press, Gesture
▪
제스처 인식기를 통한 이벤트 처리 로직
◦
Drag and Drop
▪
화면 위에서 드래그 앤 드롭 기능
◦
Pencil Action
▪
애플 펜슬의 더블 탭 동작
◦
Focus Animation
▪
원격 또는 게임 컨트롤러 사용
◦
Peek and Pop
▪
3D 터치에 대응한 미리보기 기능
◦
Keyboard and Menu
▪
키보드 입력 처리 및 사용자 정의 메뉴 표시
•
Text
◦
Text Display and Font
▪
UIKit View를 사용한 텍스트 표시, 폰트 관리, 맞춤법 검사
◦
Text Storage
▪
텍스트 스토리지를 관리하고 텍스트 레이아웃 조정
◦
Keyboard and Input
▪
시스템 키보드를 설정하거나 직접 키보드를 만들어 입력 처리
◦
Handwriting Recognition
▪
애플 펜슬로 텍스트 필드와 커스텀 뷰를 통해 입력 받는 텍스트를 감지
Cocoa Touch Framework
•
코코아 터치 프레임워크는 iOS 애플리케이션 개발 환경으로, 애플리케이션의 다양한 기능 구현에 필요한 여러 프레임워크를 포함하는 최상위 레벨의 프레임워크이다.
•
코코아 프레임워크는 macOS 애플리케이션 제작에 사용하는 프레임워크이다.
•
‘코코아’ 라는 단어는 Objective-C 런타임을 기반으로 하고, NSObject를 상속받는 모듈 클래스 또는 객체를 가리킬 때 사용한다.
•
‘코코아’ 또는 ‘코코아 터치’는 iOS 또는 macOS의 전반적인 기능을 활용해 애플리케이션을 제작할 때 사용하는 프레임워크이다.
•
‘코코아 터치’는 핵심 프레임워크인 UIKit과 Foundation을 포함한다.