문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
코스 개요
서론
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를 이용한 이미지 캡처 및 표시
- 미디어 파일 저장 및 검색
- Core Location 및 Map
- Android 고급 기능
- 위치 및 Map
- Google Maps API를 이용한 지도 및 사용자 위치 표시
- GPS 데이터 접근 및 위치 기반 서비스 처리
- 카메라 및 미디어
- CameraX를 이용한 사진 캡처 및 카메라 권한 처리
- 이미지 표시 및 미디어 저장 처리
- 위치 및 Map
- React Native 고급 기능
- React Native Map
react-native-maps를 이용한 지도 통합- 위치 기반 서비스(위치 추적, 경로 매핑) 처리
- 카메라 및 미디어 접근
- React Native Camera 라이브러리를 이용한 사진 캡처
- 기기 미디어 저장소 접근 및 파일 처리
- React Native Map
11주차: 디버깅 및 테스트
- iOS 디버깅 및 테스트
- Xcode 디버거 사용
- Xcode에서 브레이크포인트 설정 및 변수 검사
- 콘솔을 활용한 실시간 디버깅
- 공통 디버깅 이슈 및 해결 방법
- iOS 단위 테스트
- XCTest 프레임워크를 이용한 단위 테스트 작성 및 실행
- 객체 목킹 및 UI 컴포넌트 테스트
- Xcode 디버거 사용
- Android 디버깅 및 테스트
- Android Studio에서 Logcat 사용
- Logcat을 이용한 로깅 및 오류 분석
- 브레이크포인트를 활용한 Android 앱 디버깅
- Android 단위 테스트
- JUnit을 이용한 단위 테스트 작성
- Espresso를 이용한 Android UI 컴포넌트 테스트
- Android Studio에서 Logcat 사용
- React Native 디버깅 및 테스트
- React Native 디버깅 도구
- Chrome DevTools 및 React Native Debugger를 이용한 실시간 디버깅
- 콘솔 로그 및 네트워크 요청 검사
- React Native 단위 테스트
- Jest 및 Enzyme을 이용한 단위 테스트 작성
- React Native 컴포넌트 테스트 및 테스트 케이스 관리
- React Native 디버깅 도구
12주차: 앱 배포 및 캡스톤 프로젝트
- 배포 및 분산
- iOS App Store 제출
- 배포 준비(아이콘, 인증서, 프로비저닝 프로필)
- App Store Connect를 통한 앱 검토 제출
- TestFlight를 통한 베타 테스트
- Android Play Store 제출
- APK 준비 및 배포를 위한 앱 서명
- Google Play Console을 통한 앱 제출 및 추적
- Play Store 정책 및 가이드라인 이해
- iOS App Store 제출
- 캡스톤 프로젝트 개발
- 최종 프로젝트 개발
- 선택한 기능적인 앱을 구축
- API 호출, 내비게이션, 미디어, 위치 등 고급 기능 통합
- 동료 및 강사에게 최종 앱 발표 및 데모
- 최종 프로젝트 개발
요약 및 다음 단계
요건
- 프로그래밍 개념에 대한 기초적 이해
- JavaScript에 대한 기초 지식
대상 독자층
- 모바일 개발자
- 프로그래머
420 시간
회원 평가 (3)
모든 것이 잘 되고 있습니다.
Adrian Rybka - SEOyon
코스 - Flutter Development Bootcamp with Dart
기계 번역됨
매우 유용한 추가 정보
Grzegorz - Comp S.A.
코스 - BLoC Pattern
기계 번역됨
사용자 인증 앱과 Kahoot 활동 개발(강의를 잘 이해하고 있다는 확신이 들며, 재미있어요!)
Jhoanne - Pag-IBIG Fund
코스 - .NET MAUI Fundamentals
기계 번역됨