728x90
📚Standford University의 iOS 강의를 들으면서 iOS의 기초에 대해서 공부해보자.
강의 내용을 정리하면서 더 궁금한 것이나 모르겠는 것을 추가적으로 찾아서 공부한 후 함께 정리할 것이다.
+ 개인적으로 iOS 강의들을 꽤 들어봤지만 제일 좋았던 강의다. 앱 실습을 진행하면서 왜 이렇게 해야 하는지, 이런 오류는 어떻게 하면 좋을지 그리고 iOS는 어떻게 구성되는지 등 구체적이고 궁금했던 부분들을 모두 잘 설명해준다. 유료 iOS 앱 강의를 들었을 때는 설명도 없이 [그냥 이렇게 하면 된다]는 식이어서 머릿속에 남지도 않고 진도 따라가기 바빴는데 이 강의는 잘 설명해줄 뿐만 아니라 MVC 디자인 패턴에 맞춰서 앱을 구성한다. 너무 재미있었다. 강추합니다! 😎✨
iOS 안에는 어떤 API가 있을까?
(API: 기본적으로 iOS 앱이 동작하도록 우리가 사용하는 함수나 메소드, 클래스 같은 프로그래밍 인터페이스)
4개의 계층으로 나눌 수 있다.
-
Cocoa Touch
-
Media
-
Core Services
-
Core OS
Core OS
-
OSX Kernel : Power Management (전원 관리)
-
Mach 3.0 : Keychain Access (접근 제어)
-
BSD : Certificates
-
Sockets : File System
-
Security : Bonjour
아이폰은 UNIX에서 작동한다. Multitasking, UNIX 파일 시스템 같은 모든 것들을 가지고 있다. iOS 앱을 빌드할 때 도움이 된다. Core OS는 위에 있는 모든 것들을 포함한다. UNIX 계층에는 모바일 기기에 특화된 것들이 있는데 위의 리스트들이 그렇다고 보면 된다.
Core Services
-
Collections: Core Location
-
Address Book : Net Services
-
Networking : Threading
-
File Access : Preferences
-
SQLite: URL Utilities
가급적이면 객체지향 프로그래밍을 해야 하는데, UNIX 위에는 객체지향언어로 작성된 계층이 있다.
→ Networking, MultiThread, Preferences, SQL, ... 객체 지향 API를 사용해서 이런 것들을 할 수 있다.
객체 지향 계층의 일종으로, UI와는 관련없고 베이스가 되는 계층이라고 생각하면 된다.
MultiMedia
-
Core Audio : JPEG, PNG, TIFF
-
OpenAL : PDF
-
Audio Mixing : Quartz(2D)
-
Audio Recording : Core Animation
-
Video Playback : OpenGL ES
중요한 계층. 비디오와 같은 모든 종류의 오디오 프레임워크를 담고 있다.
Cocoa Touch
: 가장 많은 시간을 보낼 계층
-
Multi-Touch : Alerts
-
Core Motion : Web View
-
View Hierarchy : Map Kit
-
Localization : Image Picker
-
Controls : Camera
UI를 만들기 위한 객체 지향 API. UI는 화면에 보이는 Button, Slider만 해당하는 것이 아니다.
예를 들면, 휴대폰을 흔들면 무엇을 하게 할지나 휴대폰의 가로/세로 방향을 사용하는 것, 애니메이션도 포함한다.
추가적으로 앱 개발에 있어서 정말 중요한 것이 있는데, 바로 디자인 전략 혹은 디자인 방법론 → MVC
다음 강의에서 MVC가 무엇이고 어떻게 iOS 개발에 적용할지 배워보자.
728x90
'iOS' 카테고리의 다른 글
[SwiftUI] 데이터 관리: State와 Binding ① (0) | 2022.06.14 |
---|---|
🌱 What is MVC Design Pattern? (Stanford iOS Lecture) (0) | 2022.05.15 |
[iOS] MapKit으로 지도 앱을 만들어보자! (1) (0) | 2022.03.04 |
[iOS] 🚨 Alert 창 (0) | 2022.01.24 |
[iOS] 📎 UITableView (0) | 2022.01.24 |