제 1장: Flutter 기초 및 개발 환경 설정에 대한 안내
1. Flutter란 무엇인가?
Flutter는 Google에서 개발한 오픈 소스 UI 툴킷입니다. 이를 활용하면 iOS와 Android 등의 다양한 플랫폼에 대한 애플리케이션 개발이 가능합니다.
2. Flutter의 강점
- 다양한 플랫폼에 대한 애플리케이션 개발이 가능
- 뛰어난 성능 및 빌드 속도를 자랑
- 풍부한 위젯 라이브러리를 제공
- 빠르게 변화하는 UI 디자인에 적응하기 좋음
3. Flutter를 위한 설치 및 개발 환경 설정 방법
이 부분에서는 Flutter 프레임워크를 설치하고 개발 환경을 설정하는 방법에 대해 안내드립니다.
1. Flutter 공식 사이트에서 설치 파일을 다운로드하고 압축을 해제 2. 환경 변수를 설정 3. Dart SDK를 설치 4. IDE(예: VSCode, Android Studio)를 설치하고 Flutter 플러그인을 설치 5. Flutter Doctor를 이용하여 설치 및 설정을 확인
4. Flutter 프로젝트를 생성하고 실행하는 방법
콘솔에서 다음의 명령어를 입력하여 Flutter 프로젝트를 생성하고 실행할 수 있습니다.
flutter create my_app cd my_app flutter run
이제 Flutter 앱이 실행되고 기본 화면이 표시됩니다. 다음 장에서는 Flutter 위젯을 살펴보며 UI 개발에 대해 배워보겠습니다.
제 2장: Flutter 위젯과 UI 개발 기초에 대한 안내
1. Flutter 위젯에 대한 이해
Flutter에서는 모든 UI 요소가 위젯으로 구성됩니다. 여러 형태의 위젯들이 있으며 사용자의 목적에 맞게 선택하여 사용할 수 있습니다.
2. Stateless 위젯과 Stateful 위젯에 대한 이해
두 종류의 기본 위젯인 Stateless 위젯과 Stateful 위젯에 대해 이해하고 사용법을 배워봅니다.
Stateless 위젯이란?
상태를 가지지 않는 Immutable한 위젯으로, 상태 변경이 없을 경우 사용합니다.
Stateful 위젯이란?
상태를 가지고 있는 Mutable한 위젯으로, 상태 변경이 필요한 경우 사용합니다.
3. 기본적인 위젯들에 대한 소개 및 활용 방법
다양한 플랫폼 별 네이티브 UI 제공을 위해 다양한 유형의 기본 위젯이 제공됩니다.
- Text: 텍스트를 표시하는 위젯
- Column & Row: 정렬을 위한 위젯
- Container: 배경색, 테두리 등 스타일 요소를 적용하기 위한 위젯
- Icon & IconButton: 아이콘 및 아이콘 터치가 가능한 버튼 위젯
- Image: 이미지를 표시하는 위젯
4. 위젯 트리를 구성하는 방법
Flutter 애플리케이션의 UI는 위젯 트리로 구성됩니다. 적절한 위젯을 선택하여 UI를 구성하는 방법을 배워봅니다.
5. 사용자 입력 처리 및 이벤트 처리 방법
사용자의 입력을 받아 처리하는 방법 및 이벤트를 처리하는 방법에 대해서 알아봅니다.
- GestureDetector 위젯을 사용하여 직접 터치 이벤트 처리
- onTap, onLongPress 등 제스처 콜백을 이용한 이벤트 처리
- 다양한 입력 방식 활용 (터치 및 키보드)
6. 위젯 스타일링 및 애니메이션 적용 방법
앱의 디자인을 꾸미기 위해 위젯의 스타일을 변경하는 방법과 애니메이션을 적용하는 방법을 배웁니다.
- 폰트 스타일 변경 (크기, 색상, 줄간격 등)
- 공간과 정렬 (padding, margin, alignment 등)
- 기본 애니메이션 사용 (AnimatedContainer, AnimatedOpacity 등)
제 3장: Flutter에서의 네트워킹 및 API 호출 방법
1. HTTP 통신에 대한 이해
애플리케이션에서 외부 데이터를 가져오기 위한 방법으로, HTTP 프로토콜을 이용하여 클라이언트와 서버 간 통신을 이해합니다.
2. RESTful API란 무엇인가?
다양한 웹 서비스 및 애플리케이션에서 사용되는 RESTful API의 기능과 구조에 대해 알아봅니다.
3. Flutter에서 HTTP 라이브러리 사용하는 방법
Flutter에서 HTTP 통신을 위한 라이브러리인 'http'를 사용하여 API를 호출하는 방법을 배웁니다.
1. pubspec.yaml 파일에 http 패키지 추가 2. http 패키지를 import하고 객체 생성 3. GET/POST 요청 메서드 사용하여 API 호출 4. 응답 데이터 처리 및 오류 처리
4. JSON 데이터 처리 방법
HTTP 요청을 통해 받은 JSON 데이터를 처리 및 변환하는 방법에 대해 알아봅니다.
- dart:convert 라이브러리를 사용하여 JSON 문자열을 객체로 변환
- JSON 객체를 Dart 모델 클래스로 변환하기
5. 비동기 프로그래밍과 Future 이해하기
비동기 방식으로 API 호출을 처리하는 방법 및 Future 객체를 사용하여 네트워킹 작업을 병렬로 처리하는 방법에 대해 배웁니다.
- async/await 키워드를 사용하여 비동기 처리를 합니다
- then() 메서드를 사용한 콜백 처리를 합니다
- 에러 핸들링 방법 (catchError를 사용)
6. 비동기 위젯 사용 방법
비동기 작업을 처리하면서 UI를 업데이트하는 비동기 위젯 사용 방법을 배웁니다.
- FutureBuilder과 StreamBuilder 사용 방법
- 로딩 인디케이터를 통해 진행 상황 표시 방법
제 4장: Flutter에서의 상태 관리와 데이터 흐름 이해하기
1. 상태 관리에 대한 이해
Flutter 애플리케이션에서 위젯 상태를 효율적으로 관리하고 변경하는 방법을 이해하고 적용하는 방법을 배웁니다.
2. 초기 상태 관리 방식
처음 접하는 Flutter 개발자의 이해를 돕기 위해 초기 개발 과정에서 사용할 수 있는 간단한 상태 관리 방식을 소개합니다.
- setState: Stateful 위젯 내에서 상태 변경 방법
- 컴포넌트 간 데이터 전달 방법: 생성자를 통한 데이터 전달 및 부모 위젯에서의 상태 변경 방법
3. Provider 패키지를 사용한 상태 관리
상태 관리를 단순화하고 효율적으로 만드는 데 도움을 주는 Provider 패키지 사용 방법을 배웁니다.
1. pubspec.yaml 파일에 provider 패키지 추가 2. ChangeNotifierProvider 및 기타 Provider 클래스 사용법 3. 사용할 모델 객체 생성 및 알림 메서드 구현 4. UI에서 Provider.of() 또는 Consumer 위젯을 사용하여 데이터에 액세스 5. 상태 변경 시 UI 자동 업데이트 방법 적용
4. Riverpod 패키지를 사용한 상태 관리
Provider를 개선한 Riverpod 패키지를 사용하여 상태 관리를 하는 방법에 대해 배웁니다.
1. pubspec.yaml 파일에 riverpod 패키지 추가 2. 상태를 가지는 객체를 정의하고 Provider를 생성 3. Provider를 사용하여 상태를 읽고 변경하는 방법
5. Bloc 패키지를 사용한 상태 관리
Bloc 패키지를 사용하여 이벤트 기반의 상태 관리를 하는 방법에 대해 배웁니다.
1. pubspec.yaml 파일에 bloc 패키지 추가 2. Bloc/Cubit 클래스를 정의하고 이벤트를 처리하는 방법 3. BlocProvider를 사용하여 Bloc/Cubit 객체를 제공하고 BlocBuilder를 사용하여 상태를 반영하는 방법
제 5장: Flutter에서의 데이터 저장 및 보안
1. SQLite 데이터베이스를 사용한 영구 데이터 저장
SQLite 데이터베이스를 사용하여 데이터를 영구적으로 저장하는 방법에 대해 배웁니다.
1. pubspec.yaml 파일에 sqflite 패키지 추가 2. 데이터베이스 생성 및 테이블 설정 3. CRUD (생성, 읽기, 업데이트, 삭제) 작업 수행 방법
2. Shared Preferences를 사용한 간단한 데이터 저장
Shared Preferences를 사용하여 간단한 데이터 (예: 사용자 설정)를 저장하는 방법에 대해 배웁니다.
1. pubspec.yaml 파일에 shared_preferences 패키지 추가 2. Shared Preferences 객체를 생성하고 데이터 읽기/쓰기 방법
3. 암호화 및 보안
Flutter 애플리케이션에서 암호화와 보안을 유지하는 방법에 대해 배웁니다.
- pubspec.yaml 파일에 crypto 패키지 추가 및 사용 방법
- HTTPS를 사용하여 데이터를 안전하게 전송하는 방법
- OAuth 및 JWT를 사용하여 사용자 인증 및 인가를 처리하는 방법
0 개의 댓글:
Post a Comment