WHAT WE STUDY
사용자 인터페이스 설계
다양한 UI 컴포넌트를 사용해 직관적이고 반응성이 뛰어난 iOS 애플리케이션 개발
확장 가능한 모듈 설계
유연한 모듈화 구조를 통해 새로운 기능 추가 및 유지보수가 용이한 앱 개발
Swift의 최신 기능 활용
Swift의 최신 기능을 사용해 빠르고 안전한 코드 작성
iOS 비기너
커리큘럼을 소개합니다
1주차
1
iOS 개발의 기본 이해 및 개발 환경 준비
iOS 플랫폼 개요
앱 생태계
2
Swift 언어의 특징
Objective-C
Swift의 장점
3
Swift 기초 문법
변수와 상수, 데이터 타입
배열과 딕셔너리, 집합
2주차
1
Swift 심화 문법
옵셔널과 옵셔널 바인딩
접근 제어와 초기화 메서드
익스텐션
열거형(Enum), 구조체(Struct), 클래스(Class)
프로퍼티와 메서드
2
메모리 구조
iOS의 메모리 구조
ARC
인스턴스 생성 및 소멸
3주차
1
클로저
Named Closure, Unnamed Closure
캡처 리스트
Trailing Closure
2
프로토콜
3
기본 UI 컴포넌트
UILabel
UIButton
UITextField
UIImageView
UIView
4주차
1
iOS 앱의 생명 주기
Inactive, Active, Background, Suspended
AppDelegate, SceneDelegate
2
iOS 앱의 구조
스토리보드를 통한 UI 구성
Scene과 Segue
3
UIStackView
4
Human Interface Guidelines
5주차
1
Auto Layout과 제약 조건
제약 조건(Constraints) 이해 및 활용
CodeBase, Storyboard 방식의 차이
2
UIKit vs SwiftUI
3
Animation
UIView.animate
Core Animation
6주차
1
NavigationController
Navigation Stack
2
ViewController Lifecycle
viewDidLoad, viewWillAppear, viewDidAppear
3
객체지향 프로그래밍
상속, 캡슐화, 다형성, 추상화
SOLID 원칙
7주차
1
디자인 패턴, 아키텍처
MVC Pattern
MVVM Pattern
Apple의 MVC는 무엇이 다른가
2
프로토콜 지향 프로그래밍
프로토콜을 통한 다형성 구현
3
Initializer Delegation
8주차
1
많은 양의 데이터를 표시하는 방법
UICollectionView
UITableView
2
함수형 프로그래밍
고차함수
순수 함수, 불변성
9주차
1
Swift에서 데이터를 저장하는 방법
SQLite
Core Data
Realm
User Defaults
Keychain
2
다양한 UI 컴포넌트
UISlider
UISwitch
UIProgressView
UIScrollView
10주차
1
데이터 전달 방법
Delegate Pattern
Closure
Combine
NotificationCenter
2
데이터 전달 시 메모리 관리
weak self, unowned
3
API Design Guideline
11주차
1
Combine 심화
Publisher, Subscriber
RxSwift
2
서드파티 라이브러리 설치 방법
CocoaPods
SPM
Carthage
3
서드파티 라이브러리
Kingfisher
SnapKit
Alamofire
12주차
1
네트워크 요청
Alamofire
URLSession
Codable
2
에러 처리 기법
Result 타입
3
제네릭
13주차
1
비동기 프로그래밍
GCD
OperationQueue
2
Async/Await & Concurrency
14주차
1
Test Code 작성
UnitTest
UITest
의존성 주입과 Mocking
Testable한 코드란?
2
Sandbox의 개념
15~18주차
1
프로젝트 개발
19주차
1
회고

사용하는 기술스택

함께 할 멤버들
이은지
REGULAR
이은지
김나훈
REGULAR
김나훈
주민경
REGULAR
주민경