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 장치 미디어 저장 및 파일 처리
- React 원산지도
11주차: 디버깅 및 테스트
- iOS 디버깅 및 테스트
- Xcode 디버거 사용
- Xcode에서 중단점 설정 및 변수 검사
- 실시간 디버깅을 위한 콘솔 사용
- 일반적인 디버깅 문제 및 해결 방법
- iOS의 단위 테스트
- XCTest 프레임워크를 사용하여 단위 테스트 작성 및 실행
- 객체 모의 및 UI 구성 요소 테스트
- Xcode 디버거 사용
- Android 디버깅 및 테스트
- Android Studio에서 Logcat 사용
- Logcat을 사용하여 오류 로깅 및 분석
- 중단점을 사용한 Android 앱 디버깅
- Android의 단위 테스트
- JUnit을 사용하여 단위 테스트 작성
- Espresso로 Android UI 구성 요소 테스트하기
- Android Studio에서 Logcat 사용
- React 네이티브 디버깅 및 테스트
- React 네이티브 디버깅 도구
- 실시간 디버깅을 위해 Chrome DevTools 및 React Native Debugger 사용
- 콘솔 로그 및 네트워크 요청 검사
- React 네이티브에서의 단위 테스트
- Jest 및 Enzyme을 사용하여 단위 테스트 작성
- React 네이티브 구성요소 테스트 및 테스트 케이스 관리
- React 네이티브 디버깅 도구
12주차: 앱 배포 및 캡스톤 프로젝트
- 배포 및 분배
- iOS 앱스토어 등록
- 배포를 위한 앱 준비(아이콘, 인증서, 프로비저닝 프로필)
- App Store Connect를 사용하여 앱을 검토용으로 제출
- 베타 테스트를 위해 TestFlight 사용
- Android Play 스토어 제출
- APK 준비 및 배포를 위한 앱 서명
- Go 앱 제출 및 추적을 위해 Google Play Console 사용
- Play 스토어 정책 및 가이드라인 이해
- iOS 앱스토어 등록
- 캡스톤 프로젝트 개발
- 최종 프로젝트 개발
- 원하는 모든 기능을 갖춘 앱 구축
- API 호출, 탐색, 미디어, 위치와 같은 고급 기능 통합
- 동료 및 강사에게 최종 앱 발표 및 데모
- 최종 프로젝트 개발
요약 및 다음 단계
Requirements
- 프로그래밍 개념에 대한 기본 이해
- JavaScript의 기본 지식
청중
- 모바일 개발자
- 프로그래머
회원 평가 (5)
에드워드는 굉장한 진행자입니다
Zibusiso Ncube - Agricatural Research Council
Course - Ionic 4 and Angular for Developers
Machine Translated
제가 가장 좋아하는 부분은 선생님과의 질문과 답변입니다. 호세. 그는 지식이 풍부하고 우리 질문에 대한 답을 알고 있습니다.
John Henry - Toyota Motor Philippines
Course - .NET MAUI (Intermediate)
Machine Translated
어쩌면 학습에 더 많은 연습이 더 나을 수도 있지만 시간이 너무 짧았습니다.
Gianpiero Arico' - Urmet Spa
Course - Embedded Linux Systems Architecture
Machine Translated
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Course - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic