연락처 정보

코스 개요

서론

1주차: 모바일 개발 개요

  • 모바일 생태계 및 플랫폼
    • 모바일 운영체제(iOS 및 Android) 개요
    • iOS, Android, 크로스 플랫폼 개발 간의 주요 차이점
    • 주요 앱 스토어(Apple App Store, Google Play Store)
    • 네이티브, 하이브리드, 크로스 플랫폼 개발 소개
  • 네이티브 vs 하이브리드 vs 크로스 플랫폼
    • 각 개발 방식의 장점과 도전 과제
    • Swift(iOS용), Kotlin(Android용), React Native(크로스 플랫폼) 개요
    • 코드가 모바일 플랫폼으로 번역되는 방식(React Native에서 JavaScript가 네이티브 코드로 변환되는 과정)
  • 프로그래밍 기본기
    • 프로그래밍 개념 소개(변수, 데이터 타입, 함수, 제어 흐름)
    • Swift, Kotlin, JavaScript 문법 비교
    • Swift, Kotlin, JavaScript를 활용한 간단한 프로그램 작성
  • 개발 환경 설정
    • Xcode 및 Android Studio 설치
    • React Native CLI 및 Expo 설정
    • 시뮬레이터와 에뮬레이터에서 기본 "Hello World" 앱 실행

2주차: Swift, Kotlin, JavaScript 입문

  • iOS를 위한 Swift 프로그래밍
    • Swift의 변수, 상수, 데이터 타입
    • 제어 흐름 문법(if, switch, 루프)
    • Swift의 함수와 매개변수
    • Xcode 인터페이스 및 Swift Playgrounds 소개
  • Android를 위한 Kotlin 프로그래밍
    • Kotlin의 변수, 데이터 타입, 함수
    • Kotlin의 널 안전성(null safety) 이해
    • 제어 흐름 및 루프 구조
    • Android Studio 인터페이스 및 Kotlin Playground 소개
  • React Native를 위한 JavaScript
    • JavaScript의 변수, 상수, 제어 흐름
    • ES6 기능: 화살표 함수, 템플릿 리터럴, 구조 분해
    • Expo를 사용하여 React Native에서 기본 JavaScript 프로그램 작성 및 실행

3주차: iOS 사용자 인터페이스 디자인

  • iOS의 UI 요소
    • UIKit 및 SwiftUI 소개
    • 버튼, 라벨, 텍스트 필드 등 UI 요소 추가 및 커스터마이징
    • Interface Builder를 활용한 UI 디자인
    • Storyboard 작업 및 멀티 스크린 UI 디자인
  • Auto Layout 및 제약 조건(Constraints)
    • Auto Layout 시스템 이해
    • 다양한 화면 크기에 대한 반응형 레이아웃을 위한 제약 조건 활용
    • Stack Views 생성 및 UI 요소의 동적 조정
  • SwiftUI 기초
    • SwiftUI의 선언적 UI 디자인 소개
    • SwiftUI를 활용한 간단한 UI 컴포넌트 구축

4주차: Android 사용자 인터페이스 디자인

  • Android의 XML 레이아웃
    • XML 기반 레이아웃 디자인 소개
    • 공통 레이아웃(LinearLayout, RelativeLayout, ConstraintLayout) 활용
    • UI 요소(버튼, 텍스트 뷰, 이미지 뷰) 추가 및 커스터마이징
    • 반응형 및 동적 레이아웃을 위한 ConstraintLayout 활용
  • Material Design
    • Material Design 원칙(색상, 아이콘, 타이포그래피) 통합
    • Material Components(버튼, 플로팅 액션 버튼, 카드) 활용
    • Android 앱 테마 및 스타일링 구현

5주차: React Native 사용자 인터페이스 디자인

  • React Native Flexbox 레이아웃
    • 반응형 레이아웃 디자인을 위한 Flexbox 이해
    • 열(Column) 및 행(Row) 기반 레이아웃 생성
    • Flexbox 속성(justifyContent, alignItems 등)을 이용한 UI 컴포넌트 스타일링
  • React Native 컴포넌트
    • Text, View, TextInput, Button 등 핵심 컴포넌트 활용
    • 양식과 버튼과 같은 인터랙티브 UI 요소 생성
    • 동적 콘텐츠를 위한 ScrollView 컴포넌트 활용

6주차: iOS 및 Android 데이터 처리

  • iOS 데이터 처리
    • 간단한 데이터 지속성을 위한 UserDefaults 사용
    • 복잡한 데이터 로컬 저장을 위한 Core Data 소개
    • URLSession을 활용한 API 데이터 가져오기
    • JSON 데이터 파싱 및 UI 표시
  • Android 데이터 처리
    • 소량의 데이터 저장을 위한 SharedPreferences 사용
    • 데이터베이스 관리를 위한 SQLite 및 Room Persistence Library 소개
    • Retrofit을 활용한 API 데이터 가져오기
    • JSON 파싱 및 API 응답 처리

7주차: React Native 상태 관리 및 API

  • React Native의 State와 Props
    • React Native 컴포넌트 내 데이터 흐름 관리
    • 로컬 컴포넌트 상태 관리를 위한 useState 훅 사용
    • Props를 통한 부모-자식 컴포넌트 간 데이터 전달
  • React Native 데이터 가져오기
    • Fetch API 및 Axios를 이용한 HTTP 요청
    • 목록을 통해 가져온 데이터 표시(FlatList, SectionList 사용)
    • React Native의 AsyncStorage를 활용한 데이터 로컬 영속화

8주차: iOS 및 Android 내비게이션

  • iOS 내비게이션
    • 내비게이션 컨트롤러 소개 및 멀티 스크린 관리
    • 뷰 컨트롤러 간 전환을 위한 Segues 사용
    • 뷰 컨트롤러 간 데이터 전달
    • 구조화된 내비게이션을 위한 TabBar 및 NavigationBar 구현
  • Android 내비게이션
    • 멀티 스크린 앱을 위한 Activities 및 Intents 활용
    • Bundles를 통한 Activities 간 데이터 전달
    • Navigation Drawer 및 BottomNavigationView 생성
    • 유연한 UI 내비게이션을 위한 Fragments 구현

9주차: React Native 내비게이션

  • React Navigation 기초
    • React Navigation 설치 및 설정
    • 스크린 전환을 위한 Stack Navigator 사용
    • 복잡한 내비게이션을 위한 Tab Navigator 및 Drawer Navigator 구현
    • 스크린 간 파라미터 전달 및 내비게이션 상태 관리

10주차: 고급 기능

  • iOS 고급 기능:
    • Core Location 및 Map
      • Core Location을 이용한 기기 위치 접근
      • MapKit을 이용한 지도 표시
      • 위치 기반 서비스 및 사용자 위치 추적 처리
    • 카메라 및 미디어
      • 기기 카메라 및 사진 라이브러리 접근
      • UIImagePickerController를 이용한 이미지 캡처 및 표시
      • 미디어 파일 저장 및 검색
  • Android 고급 기능
    • 위치 및 Map
      • Google Maps API를 이용한 지도 및 사용자 위치 표시
      • GPS 데이터 접근 및 위치 기반 서비스 처리
    • 카메라 및 미디어
      • CameraX를 이용한 사진 캡처 및 카메라 권한 처리
      • 이미지 표시 및 미디어 저장 처리
  • React Native 고급 기능
    • React Native Map
      • react-native-maps를 이용한 지도 통합
      • 위치 기반 서비스(위치 추적, 경로 매핑) 처리
    • 카메라 및 미디어 접근
      • React Native Camera 라이브러리를 이용한 사진 캡처
      • 기기 미디어 저장소 접근 및 파일 처리

11주차: 디버깅 및 테스트

  • iOS 디버깅 및 테스트
    • Xcode 디버거 사용
      • Xcode에서 브레이크포인트 설정 및 변수 검사
      • 콘솔을 활용한 실시간 디버깅
      • 공통 디버깅 이슈 및 해결 방법
    • iOS 단위 테스트
      • XCTest 프레임워크를 이용한 단위 테스트 작성 및 실행
      • 객체 목킹 및 UI 컴포넌트 테스트
  • Android 디버깅 및 테스트
    • Android Studio에서 Logcat 사용
      • Logcat을 이용한 로깅 및 오류 분석
      • 브레이크포인트를 활용한 Android 앱 디버깅
    • Android 단위 테스트
      • JUnit을 이용한 단위 테스트 작성
      • Espresso를 이용한 Android UI 컴포넌트 테스트
  • React Native 디버깅 및 테스트
    • React Native 디버깅 도구
      • Chrome DevTools 및 React Native Debugger를 이용한 실시간 디버깅
      • 콘솔 로그 및 네트워크 요청 검사
    • React Native 단위 테스트
      • Jest 및 Enzyme을 이용한 단위 테스트 작성
      • React Native 컴포넌트 테스트 및 테스트 케이스 관리

12주차: 앱 배포 및 캡스톤 프로젝트

  • 배포 및 분산
    • iOS App Store 제출
      • 배포 준비(아이콘, 인증서, 프로비저닝 프로필)
      • App Store Connect를 통한 앱 검토 제출
      • TestFlight를 통한 베타 테스트
    • Android Play Store 제출
      • APK 준비 및 배포를 위한 앱 서명
      • Google Play Console을 통한 앱 제출 및 추적
      • Play Store 정책 및 가이드라인 이해
  • 캡스톤 프로젝트 개발
    • 최종 프로젝트 개발
      • 선택한 기능적인 앱을 구축
      • API 호출, 내비게이션, 미디어, 위치 등 고급 기능 통합
      • 동료 및 강사에게 최종 앱 발표 및 데모

요약 및 다음 단계

요건

  • 프로그래밍 개념에 대한 기초적 이해
  • JavaScript에 대한 기초 지식

대상 독자층

  • 모바일 개발자
  • 프로그래머
 420 시간

참가자 수


참가자별 가격

회원 평가 (3)

예정된 코스

관련 카테고리