Stage 2 · 4 챌린지 · 24 Topics
🏗 제대로
만든다
화면만 있는 앱에서 벗어난다. 데이터를 저장하고, 서버와 통신하고, 코드를 재사용하고, 인터랙션을 살아있게 만든다.
데이터
SwiftData
네트워킹
URLSession · async/await
설계
Protocol · Extension
결과물
뉴스 앱 완성
✅
Stage 1 완료 필요
✅
Swift 핵심 문법 완료 필요
4 챌린지 — 실제 앱이 되는 순서대로
챌린지 2-1
💾
데이터를 앱에 저장하기
↳ 앱을 껐다 켜도 데이터가 남아야 한다
Codable · JSON
UserDefaults
@Model (SwiftData)
@Query
CRUD
챌린지 열기 →
챌린지 2-2
🌐
인터넷에서 데이터 가져오기
↳ 서버에서 실시간 데이터를 받아와야 한다
async / await
URLSession
JSONDecoder
로딩 / 에러 상태
@MainActor
챌린지 열기 →
챌린지 2-3
🧩
재사용 가능한 코드 짜기
↳ 비슷한 코드를 계속 복붙하고 있다
Protocol
Extension
Generic
throws · try · catch
Result 타입
챌린지 열기 →
챌린지 2-4
✨
움직이는 UI 만들기
↳ 앱이 너무 정적으로 보인다
withAnimation
.transition()
matchedGeometryEffect
Custom ViewModifier
Gesture
챌린지 열기 →
Stage 2를 마쳤다면
추천 · 다음 학습
📊 자료구조 & 알고리즘
Array가 왜 느린지, Set은 왜 빠른지 — 성능을 이해하는 다음 단계
시작하기 →
카카오톡 오픈채팅 💬
질문 ·
링크로 참여