본문 바로가기
개발/iOS

[iOS] iOS는 어떻게 이루어져 있을까?

by 마자용 2022. 3. 19.

* 부제 - iOS 4계층 (iOS API)


API란?

앱이 동작하도록 하기 위해 사용하는 함수나 메소드, 클래스와 같은 프로그래밍 인터페이스

 

iOS’s API

4계층으로 이루어짐.

  • 사이에 몇개의 계층이 더 있지만 대표적으로 4계층이라는 소리
  • 아래로 갈수록 HW에 가까움

 

1. Core OS

- OSX Kernel, Power ManageMent (전원 관리), Mach 3.0, Keychain Access (접근 제어), BSD, Certificates, Sockets, File System, Security, Bonjour, ...
- 아이폰은 유닉스에서 동작한다.

  • 기본적으로 작동하는 유닉스 버전들 → Multitasking, UNIX 파일 시스템 등
  • iOS App 빌드 시 사용된다.

- Core OS가 이러한 것들을 포함하는 것이다.

2. Core Services

- 유닉스 위의 OOP로 작성된 계층을 말함. (베이스가 되는 계층)
- Collections, Core Location, Address Book, Net Services, Networking, Threading, File Access, Preferences, SQLite, URL Utilities, ...

3. Multimedia

- 모든 종류의 오디오, 사진, 그림 프레임워크를 담는 계층
- OpenGL

  • Core Audio, JPEG, PNG, TIFF, OpenAL, PDF, Quartz (2D), Audio Mixing, Audio Recording, Core Animation, Video Playback, OpenGL ES, ...

4. Cocoa Touch

- UI를 만들기 위한 OOP API
- UI란 화면에 보이는 Button이나 Slider만 해당되는 것이 아닌, 폰을 흔들면 작동시킬 동작이나 가로모드, 세로모드, 애니메이션 등도 포함하는 개념임.

  • 만드는 방법의 일부, 상위 레벨
  • 앱 안에 직사각형으로 Safari 브라우저 넣어주는 객체 같은 것들

- Multi-Touch, Alerts, Core Motion, Web View, View Hierarchy, Map Kit, Localization, Image Picker, Controls, Camera, ...

 

Platform Components

Tools

  • Xcode (에디터, 디버거, 소스코드 관리 같은 것들이 들어있음)
  • Instruments (플러그인)

Languages

  • Swift, Objective-C

Frameworks

  • Foundation (CoreService - Core Data)
  • UIKit (UI - Core Motion, Map Kit)

Design Strategy

  • MVC

 


 

참고

Stanford - Developing iOS 9 Apps with Swift - 1. Course Overview and iOS9 introduction

'개발 > iOS' 카테고리의 다른 글

[iOS] Carousel 구현 아이디어  (0) 2022.03.24
[iOS] IQKeyboardManager  (0) 2022.03.24
[iOS] UDID (Unique Device Identifier)  (2) 2022.03.16
[iOS] UICollectionView  (0) 2022.03.12
[Swift] ARC, Retain Cycle, weak, unowned  (2) 2022.02.22

댓글