대상 독자
이 책은 최소 한 가지 프로그래밍 언어에 대한 기초 지식이 있는 독자에게 최적화되어 있습니다. 다트와 플러터의 기초부터 다루지만 프로그래밍 경험이 전무한 사람에게는 기본 용어 자체가 생소할 수 있기 때문입니다. 모바일 앱 개발 경험이 있다면 이해하는 데 좀 더 도움이 될 수는 있겠지만 몰라도 괜찮습니다. 플러터만으로도 모바일 앱 개발을 시작할 수 있도록 구성했기 때문입니다.
이 책의 구성
이 책은 다트와 플러터의 기초를 모두 다룹니다. 다만 어떤 프로그래밍 언어도 책 한 권에 그 내용을 모두 담을 수는 없듯 이 책 또한 그러합니다. 따라서 이 책의 목표는 플러터에 빠르게 입문하도록 돕고 책에 없는 내용은 스스로 학습할 수 있는 능력을 갖추도록 하는 것입니다. 모든 개념들은 간단한 예제를 중심으로 직접 실행해보며 쉽게 이해할 수 있도록 구성하였고, 예제로도 부족하다고 생각되는 개념은 그림을 추가하여 설명하였습니다.
1장 플러터 시작하기
플러터에 대해 소개하고 개발 환경을 구축합니다. 개발 환경 구축이 완료되면 간단한 첫 플러터 앱을 실행해봅니다. 또한 플러터 개발 시 유용한 Hot Reload를 알아봅니다.
2장 다트 프로그래밍
다트 언어를 소개 및 개발 환경을 구축한 후 개요부터 기초 문법까지 학습합니다. 다트만의 독특한 스레드 구조인 isolate와 비동기 프로그래밍도 다룹니다.
3장 위젯의 기본 개념
플러터의 가장 기본 요소인 위젯이 무엇인지 알아봅니다. 그리고 StatelessWidget과 StatefulWidget에 대해서 소개하며 StatefulWidget의 생명주기도 살펴봅니다.
4장 화면표시 위젯
플러터는 위젯이란 개념으로 모든 화면을 구성합니다. 텍스트나 이미지를 표시하는 방법부터 버튼 등과 같이 사용자와 상호 작용을 하는 위젯들을 사용하는 방법을 배웁니다.
5장 레이아웃 구성
레이아웃 역시 위젯으로 구성됩니다. 버튼 등의 위젯을 가로 또는 세로로 배치하거나 많은 양의 데이터를 목록으로 표시하고 스크롤하는 방법 등을 살펴봅니다.
6장 화면 전환 및 상태 관리
다른 화면으로 이동하는 방법을 배웁니다. Navigator와 Route를 사용하는 두 가지 방법을 모두 다룹니다. 또한 Provider를 사용하여 공통으로 사용하는 데이터의 상태를 관리하는 실습을 진행합니다.
7장 애니메이션
플러터에서 크게 두 가지로 나눌 수 있는 애니메이션 개념인 암시적 애니메이션과 명시적 애니메이션을 다루고 이에 관한 대표 예제를 실습해봅니다. 또한 화면 전환 시 애니메이션 효과를 부여하는 Hero 위젯도 살펴봅니다.
8장 실전 프로젝트
앞서 배운 내용들을 활용하여 알람 및 날씨 브리핑 앱을 만들어봅니다. 배운 내용의 범위를 벗어나는 수준의 기능 구현은 패키지를 통해 해결합니다. 패키지는 라이브러리로 이해하면 되며 실전에서 반드시 사용하게 됩니다. 따라서 이 장을 통해 패키지 사용법을 필수적으로 알고 있도록 합시다.
저자 소개
저자 : 서준수
부산대학교에서 정보컴퓨터공학을 전공했습니다. 졸업 후 LG전자에서 스마트폰 앱 개발을 하다가 현재는 로봇 개발에 참여하고 있습니다. 다양한 프로젝트를 수행하면서 역량을 키우기 위해 노력 중이고, 많은 사람들에게 사랑 받는 프로그램을 만드는 것이 꿈인 개발자입니다. 저서로 『코틀린 이것만 보면 돼』(비제이퍼블릭, 2019)가 있습니다.
목 차
Chapter 1 플러터 시작하기
1.1 플러터 소개
1.2 개발 환경 구축
1.3 첫 플러터 앱 실행
1.4 Hot Reload
Chapter 2 다트 프로그래밍
2.1 다트 언어 소개 및 개발 환경
2.2 다트의 기본 구조
2.3 키워드
2.4 주석, 변수, 상수, 타입
2.5 함수
2.6 연산자
2.7 조건문
2.8 반복문
2.9 클래스
2.10 생성자
2.11 상속
2.12 접근 지정자
2.13 getter & setter
2.14 추상 클래스
2.15 컬렉션
2.16 제네릭
2.17 비동기 프로그래밍
__1. isolate
__2. future, async, await
__3. stream
Chapter 3 위젯의 기본 개념
3.1 Hello World 앱 분석
3.2 StatelessWidget
3.3 StatefulWidget
3.4 StatefulWidget 생명주기
Chapter 4 화면표시 위젯
4.1 Text, Image
4.2 Icon
4.3 Text Field
4.4 Button
__1. FlatButton
__2. OutlineButton
__3. RaiseButton
__4. DropdownButton
__5. FloatingActionButton
__6. PopupMenuButton
__7. IconButton
4.5 Checkbox, Switch
4.6 Radio
4.7 Dialog
4.8 DatePicker
4.9 TimePicker
Chapter 5 레이아웃 구성
5.1 Row, Column
5.2 Container
5.3 ScrollView
5.4 ListView
5.5 GridView
5.6 PageView
5.7 BottomNavigationBar
Chapter 6 화면 전환 및 상태 관리
6.1 Navigator와 Route
6.2 상태 관리
Chapter 7 애니메이션
7.1 암시적 애니메이션
7.2 명시적 애니메이션
7.3 Hero 위젯
Chapter 8 실전 프로젝트
8.1 알람 및 날씨 브리핑 앱 소개
8.2 패키지 준비
8.3 기본 UI 구성
8.4 날씨 안내 구현하기
8.5 알람 구현하기