Course Outline

소개

1주차 : Mobile Development 개요

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

2주차 : Swift, Kotlin, JavaScript 소개

  • Swift Programming iOS에 대하여
    • Swift의 변수, 상수 및 데이터 유형
    • 제어 흐름 문장( if , switch , 루프)
    • Swift의 함수 및 매개변수
    • Xcode 인터페이스 및 Swift Playgrounds 소개
  • Kotlin Programming Android에 대하여
    • Kotlin의 변수, 데이터 유형 및 함수
    • Kotlin의 null 안전성 이해
    • 제어 흐름 및 루프 구조
    • Android Studio의 인터페이스와 Kotlin Playground 소개
  • Java네이티브용 스크립트 React
    • JavaScript의 변수, 상수 및 제어 흐름
    • ES6 기능: 화살표 함수, 템플릿 리터럴 및 구조 분해
    • Expo를 사용하여 React Native에서 기본 JavaScript 프로그램 작성 및 실행

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

  • UI Element in iOS
    • UIKit 및 SwiftUI 소개
    • 버튼, 레이블, 텍스트 필드와 같은 UI 요소 추가 및 사용자 정의
    • Interface Builder를 사용하여 UI 디자인하기
    • 스토리보드 작업 및 다중 화면 UI 디자인
  • 자동 레이아웃 및 제약 조건
    • 자동 레이아웃 시스템 이해
    • 다양한 화면 크기에 따른 반응형 레이아웃에 대한 제약 조건 사용
    • 스택 뷰 생성 및 UI 요소 동적으로 조정
  • SwiftUI 기본
    • SwiftUI에서의 선언적 UI 디자인 소개
    • SwiftUI를 사용하여 간단한 UI 구성요소 구축

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

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

5주차: React 네이티브 사용자 인터페이스 디자인

  • React 네이티브 Flexbox 레이아웃
    • 반응형 레이아웃 디자인을 위한 Flexbox 이해
    • 열 및 행 기반 레이아웃 만들기
    • Flexbox 속성(justifyContent, alignItems 등)을 사용하여 UI 구성 요소 스타일링
  • React 네이티브 구성 요소
    • 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 네이티브 상태Management 및 API

  • React 네이티브의 상태 및 소품
    • React 네이티브 구성 요소 내에서 데이터 흐름 관리
    • 로컬 구성 요소 상태를 관리하기 위해 useState 후크 사용
    • props를 통해 부모 및 자식 구성 요소 간 데이터 전달
  • React 네이티브에서 데이터 가져오기
    • Fetch API와 Axios를 사용하여 HTTP 요청하기
    • 가져온 데이터를 목록으로 표시( FlatList , SectionList 사용)
    • React 네이티브에서 AsyncStorage를 사용하여 로컬에 데이터 유지

주 8: iOS 및 Android 탐색

  • iOS 항해
    • 내비게이션 컨트롤러 소개 및 여러 화면 관리
    • 세그웨이를 사용하여 뷰 컨트롤러 간 전환
    • 뷰 컨트롤러 간 데이터 전달
    • 구조화된 탐색을 위한 TabBar 및 NavigationBar 구현
  • Android 항해
    • 다중 화면 앱을 위한 Activities 및 Intents 작업
    • Bundles를 사용하여 Activities 간 데이터 전달
    • Navigation Drawer 및 BottomNavigationView 만들기
    • 유연한 UI 탐색을 위한 프래그먼트 구현

9주차: React 네이티브로 탐색하기

  • React 탐색 기본 사항
    • 설치 및 설정 React 탐색
    • 화면 전환을 위해 Stack Navigator 사용
    • 복잡한 탐색을 위한 탭 네비게이터 및 서랍 네비게이터 구현
    • 화면 간 매개변수 전달 및 탐색 상태 관리

10주차: 고급 기능

  • iOS 고급 기능:
    • 핵심 위치 및 지도
      • Access Core Location을 사용한 장치 위치 확인
      • MapKit을 사용하여 지도 표시
      • 지리적 위치 및 사용자 위치 추적 처리
    • 카메라 및 미디어
      • Accessing 장치 카메라 및 사진 라이브러리
      • UIImagePickerController를 사용하여 이미지 캡처 및 표시
      • 미디어 파일 저장 및 검색
  • Android 고급 기능
    • 위치 및 지도
      • GoGoogle Maps API를 사용하여 지도 및 사용자 위치 표시
      • Access GPS 데이터 및 지리적 위치 처리
    • 카메라 및 미디어
      • CameraX를 사용하여 사진을 촬영하고 카메라 권한을 처리합니다.
      • 이미지 표시 및 미디어 저장소 처리
  • React 네이티브 고급 기능
    • React 원산지도
      • react-native-maps 사용하여 맵 통합
      • 위치 기반 서비스 처리(지리적 위치, 경로 매핑)
    • 카메라 및 미디어 액세스
      • React 네이티브 카메라 라이브러리를 사용하여 사진 촬영
      • Access 장치 미디어 저장 및 파일 처리

11주차: 디버깅 및 테스트

  • iOS 디버깅 및 테스트
    • Xcode 디버거 사용
      • Xcode에서 중단점 설정 및 변수 검사
      • 실시간 디버깅을 위한 콘솔 사용
      • 일반적인 디버깅 문제 및 해결 방법
    • iOS의 단위 테스트
      • XCTest 프레임워크를 사용하여 단위 테스트 작성 및 실행
      • 객체 모의 및 UI 구성 요소 테스트
  • Android 디버깅 및 테스트
    • Android Studio에서 Logcat 사용
      • Logcat을 사용하여 오류 로깅 및 분석
      • 중단점을 사용한 Android 앱 디버깅
    • Android의 단위 테스트
      • JUnit을 사용하여 단위 테스트 작성
      • Espresso로 Android UI 구성 요소 테스트하기
  • React 네이티브 디버깅 및 테스트
    • React 네이티브 디버깅 도구
      • 실시간 디버깅을 위해 Chrome DevTools 및 React Native Debugger 사용
      • 콘솔 로그 및 네트워크 요청 검사
    • React 네이티브에서의 단위 테스트
      • Jest 및 Enzyme을 사용하여 단위 테스트 작성
      • React 네이티브 구성요소 테스트 및 테스트 케이스 관리

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

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

요약 및 다음 단계

Requirements

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

청중

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

Number of participants


Price per participant

회원 평가 (5)

Upcoming Courses

Related Categories