CHAPTER 01 플러터 이해하기01_ 1 플러터란? 01_ 2 플러터의 특징 01_ 3 Dart 언어의 특징 01_ 4 지금 당장 앱을 만들어야 한다면? 01_ 5 Skia 엔진 01_ 6 AOT와 JIT 지원 01_ 7 Swift UI와 Android JetPack Compose 01- 8 플러터 아키텍처 01_ 9 플러터 버전별 차이점 CHAPTER 02 플러터 시작하기02_ 1 Flutter SDK 설치하기 Flutter SDK 다운로드 Flutter SDK 압축 해제 및 폴더 설정 Flutter 환경변수 설정 02_ 2 안드로이드 스튜디오 설치하기 안드로이드 스튜디오 다운로드 안드로이드 스튜디오 설치하기 Flutter, Dart 플러그인 설치 Flutter 프로젝트 생성하기 Flutter Doctor 버전 확인 해보기 02_ 3 안드로이드 스튜디오 환경 설정 자동정렬 설정 글자 크기 및 폰트 설정 02_ 4 Flutter 에뮬레이터로 fist_app 프로젝트 실행하기 02_ 5 Hot Reload 체험해보기 CHAPTER 03 Dart 문법 익히기03_ 1 DartPad 사용해보기 DartPad 사이트 접속하기 Flutter로 앱 코딩하기 순수Dart 언어 작성하기 03_ 2 Dart 변수 변수 타입 확인 타입 추론 03_ 3 연산자 알아보기 산술 연산자 비교 연산자 논리 연산자 03_ 4 조건문 if문 삼항 연산자 null 대체 연산자 03_ 5 함수 함수 익명함수와 람다식 03_ 6 클래스 클래스란? 객체(Object)란 객체 지향 프로그래밍 생성자 선택적 매개변수 cascade 연산자 03_ 7 dart null safetye dart Null Safety 뭘까? null check 연산자와 null 병합 연산자 null 억제 연산자 또는 null assert 연산자 late 키워드에 대해 알아 보자 03_ 8 상속 다형성 슈퍼(super) 키워드 final 키워드와 이니셜 라이져(:) 키워드 03_ 9 Mixin 03_ 10 추상 클래스 추상 클래스란? 03_ 11 컬렉션 List Map Set 03_ 12 반복문 for문 map 함수 where 연산자 스프레드 연산자 03_ 13 final과 const CHAPTER 04 스토어 앱 만들기04_ 1 스토어 앱 구조보기 화면 구조보기 MaterialApp vs CupertinoApp Scaffold 필요한 위젯 살펴보기 플러터 프로젝트 생성하기 04_ 2 스토어 앱 뼈대 만들기 04_ 3 스토어 앱 만들어보기 기본 코드 작성하기 Column 위젯 Row 위젯 Text 위젯 SafeArea 위젯 Text 위젯의 Style 속성 Open Flutter Devtools Spacer 위젯 Debug 배너 해제 Padding 위젯 Image 위젯 Expanded 위젯 - Column 방향 SizedBox 위젯 CHAPTER 05 레시피 앱 만들기05_ 1 레시피 앱 구조보기 화면 구조보기 필요한 위젯 살펴보기 플러터 프로젝트 생성하기 05_ 2 레시피 앱 뼈대 구성하기 05_ 3 레시피 앱 만들어보기 기본 코드 작성하기 AppBar 위젯의 action 속성에 Icon 위젯 추가하기 RecipeTitle 커스텀 위젯 만들기 Theme에 Font 적용하기 Container 위젯을 활용한 RecipeMenu 커스텀 위젯 만들기 재사용 가능한 레시피 리스트 아이템 만들기 - 클래스 생성화 활용 ListView 위젯을 활용하여 세로 스크롤 달기 AspectRatio로 이미지 비율 정하기 ClipRRect 위젯으로 이미지 모서리에 곡선 주기 CHAPTER 06 프로필 앱 만들기06_ 1 레시피 앱 구조보기 화면 구조보기 필요한 위젯 살펴보기 플러터 프로젝트 생성하기 06_ 2 프로필 앱 뼈대 구성하기 프로젝트 구조 세팅하기 기본 코드 작성하기 06_ 3 프로필 앱 위젯 구성하기 AppBar 위젯과 Scaffold의 endDrawer 속성 활용하기 CircleAvatar 위젯 Column 위젯의 CrossAxisAligment 속성 활용하기 재사용 가능한 함수 만들기 InkWell 위젯을 사용하여 ProfileButtons 클래스 만들기 TabBar 위젯과 TabBarView 위젯 사용하기 GridView 위젯과 Image.network CHAPTER 07 로그인 앱 만들기07_ 1 로그인 앱 구조 살펴보기 화면 구조보기 필요한 위젯 살펴보기 플러터 프로젝트 생성하기 07_ 2 로그인 앱 뼈대 작성하기 프로젝트 구조 세팅하기 기본 코드 작성하기 - 화면 이동을 위한 Routes 07_ 3 LoginPage 위젯 구성하기 ListView 위젯으로 전체 구성하기 SvgPicture 라이브러리로 Logo 위젯 만들기 TextFormField 위젯 만들기 Form 위젯 만들기 Form 위젯에 Theme를 적용한 TextButton 추가하기 Navigator 화면 이동하기 Form 위젯 유효성(validation) 검사하기 07_ 4 HomePage 위젯 구성하기 home_page.dart 코드 완성하기 CHAPTER 08 쇼핑카드 앱 만들기08_ 1 쇼핑카트 앱 구조보기 화면 구조보기 필요한 위젯 살펴보기 플러터 프로젝트 생성하기 08_ 2 플러터 상태 관리 StatefulWidget StatefulWidget 이란? StatefulWidget과 StatelessWidget의 차이 위젯 트리 StatefulWidget 빌드 흐름 BuildContext 분리하기 08_ 3 쇼핑카드 앱 뼈대 작성하기 프로젝트 구조 세팅하기 기본 코드 작성하기 08_ 4 쇼핑카드 앱 만들어보기 AppBar 만들기 쇼핑카드 헤더 만들기 - setState() 함수 쇼핑카드 디테일 만들기 - Stack 위젯과 Positioned 위젯 쇼핑카드 디테일 만들기 - CupertinoAlertDialog 위젯 CHAPTER 09 모두의숙소 웹 만들기09_ 1 모두의숙소 웹 구조 살펴보기 화면 구조보기 플러터 프로젝트 생성하기 09_ 2 모두의숙소 웹 뼈대 작성하기 프로젝트 구조 세팅하기 기본 코드 작성하기 09_ 3 모두의숙소 웹 만들어보기 헤더에 AppBar 만들기 헤더에 Form에 추가할 CommonFormField 만들기 헤더에 Form 만들기 바디에 Banner 만들기 바디Popular에 추가할 HomeBodyPopularltem 만들기 바디에 Popular 완성하기 MediaQuery를 활용한 HomeHeaderForm 가운데 정렬 안드로이드 에뮬레이터로 실행해보기 CHAPTER 10 모두의마켓 앱 만들기10_ 1 앱 뼈대 만들기 폴더 및 파일 만들기 pubspec.yaml 파일 설정하기 main_screens.dart 기본 코드 작성 앱 테마 설정하기 main.dart 파일 완성하기 10_ 2 메인화면 만들기 MainScreens 위젯 기본 코드 작성하기 IndexedStack의 하위 위젯 만들기 MainScreens 위젯 완성하기 10 _ 3 홈 화면 만들기 AppBar 만들기 화면에 사용할 샘플 데이터 만들기 독립된 파일로 위젯 만들기 HomeScreen 위젯 완성하기 10_ 4 나의 당근 화면 만들기 나의 당근 화면 기본 코드 입력하기 나의 당근 화면 Header 위젯 만들기 모델 클래스 만들기 하단 Card 메뉴 위젯 만들기 MyCarrotScreen 위젯 완성하기 10_ 5 채팅화면 만들기 모델 클래스 및 샘플 데이터 만들기 재사용 위젯 만들기 CarttingScreen 위젯 기본 코드 입력하기 ChatContainer 위젯 만들기 CarttingsScreen 위젯 완성하기 10_ 6 동네생활 화면 만들기 모델 클래스 및 샘플 데이터 만들기 NeighborhoodLifeScreen 위젯 기본 코드 입력하기 LifeHeader 위젯 만들기 LifeBody 위젯 만들기 NeighborhoodLifeScreen 위젯 완성하기 10_ 7 내 근처 화면 만들기 모델 클래스 및 샘플 데이터 만들기 NearMeScreen 위젯 기본 코드 입력하기 TextFilleld 위젯 만들기 수평 방향으로 스크롤 되는 위젯 만들기 Wrap 위젯 사용해 보기 Storeltem 위젯 만들기 NearMeScreen 위젯 완성하기 CHAPTER 11 사진 관리 앱 만들기 : 카메라 제어하기11_ 1 사진 촬영 저장 어플 만들기 플러터에서 카메라를 제어하는 방법 새로운 프로젝트 생성하기 안드로이드 권한 부여하기 minSdkVersion 설정하기 필요한 패키지 추가하기 어플리케이션 구현하기 애플리케이션에서 실행하기 11_ 2 사진 촬영 저장 및 불러오기 어플 만들기 새로운 프로젝트 생성하기 안드로이드 권한 부여하기 필요한 패키지 추가하기 어플리케이션 구현하기 애플리케이션에서 실행하기 CHAPTER 12 상태 관리 앱 만들기 : RiverPod12_ 1 RiverPod 이란? StatefulWidget vs RiverPod 12_ 2 Provider 프로젝트 실행 화면 프로젝트 생성 실습 코드 작성 12_ 3 StateNotifierProvier 프로젝트 실행 화면 프로젝트 생성 실습 코드 작성 CHAPTER 13 모두의 블로그 앱 만들기 : RiverPod13_ 1 모두의 블로그 앱 구조 살펴보기 13_ 2 플러터 프로젝트 생성하기 13_ 3 서버 실행 및 테스트하기 서버 실행하기 서버 통신 테스트하기 13_ 4 PostMan 설치 및 실행하기 13_ 5 API 문서 분석하기 공통코드 회원가입 로그인 게시글 목록보기 게시글 한건보기 게시글 쓰기 게시글 수정하기 게시글 삭제하기 자동 로그인을 위한 토큰 검증하기 13_ 6 서버와 어플리케이션 연동하기 프로젝트 뼈대 만들기 dio 라이브러리 세팅하기 모델 만들기 요청과 응답의 데이터를 위한 DTO 만들기 데이터 통신을 위한 Repository 만들기 로그인 구현하기 회원가입 기능 구현하기 게시물 목록 불러오기 통신 구현하기 게시물 상세 불러오기 기능 구현하기 게시물 작성 기능 구현하기 게시물 삭제 기능 구현하기 게시물 수정 기능 구현하기 13_ 7 정리