iOS 시작하기
구조

Core OS
- UNIX 기반
- 하드웨어와 가장 가까이 있는 최하위 계층
- C기반의 저수준의 API로 이루어져 있음
- 데이터처리, 네트워크, 파일 접근 등 시스템의 핵심 기능을 포함하는 기본적인 부분들을 관리
Core Service
- 시스템의 핵심 기능을 관리한 Core OS에서 제공하지 않는 부가기능들을 포함
- 내부 데이터/위치/센서 등의 기능을 제공
- CoreMotion(기기센서), Accounts(계정관리), Foundation(데이터 관리) 등의 기능 제공
- 그래픽이나 오디오, 비디오 등 멀티미디어 기능을 제공
- C와 Objective-C가 혼합되어 있는 상태
- AvFoundation(미디어 재생관련), MediaPlayer(플레이어), Core Image(이미지 가공) 등의 기능 포함
Cocoa Touch
- 화면의 그래픽 UI 및 터치의 기능을 제공
- UIKit(UI 구성, 터치) MapKit(지도), MessageUI(메세지, 이메일) 등의 기능 포함
iOS의 장단점
장점
- 명령이 기계로 전달되는 단계가 안드로이드에 비해 적으므로, OS의 속도가 빠르고 애니메이션 또한 매끄럽게 구동
- 앱을 설치할 수 있는 경로는 앱스토어가 유일하므로, 바이러스나 악성코드가 침투할 일이 비교적 적다.(보안)
- 사용자가 꼭 필요한 기능만 담겨있으므로, 얻을 수 있는 가용 저장공간이 크다.
- 심플하고 아름다운 UI, 고품격 음질, 정해져있는 포트의 위치와 크기, 자동 동기화 기능인 아이클라우드를 통한 완벽한 자동 백업기능
단점
- 애플 제품에만 설치할 수있는 한정된 작동기기
- 아이폰 용 앱 개발 프로그램은 맥 OS에서만 작동되는 한정된 개발환경
- 설계도는 설계자만이 볼 수 있고, 클로즈드 소스(프로그램의 설계도 소스를 비공개로 유지)이다.
- 한정된 코덱지원, 사용자 튜닝의 어려움
참조
Boseong Kim