Flutter의 등장으로부터 6년, 모바일 앱을 개발하는데 있어서, Flutter는 제1의 후보로 들 수 있을 정도로 인기가 높아지고 있다. 개인이나 적은 인원수로 개발에 적합하기 때문에 최근에는 기업에서 채용되고 있을 뿐만 아니라 부업으로 앱을 개발하는 사람도 증가하고 있다. 이 책은 프로그래밍 초보자나 엔지니어 1~2년차가 대상자이며, 앱 개발이나 프로그래밍을 시작하는 계기가 될 것이다. 그리고 최소한 필요한 범위의 내용을 담았으며, 초보자라도 좌절하지 않도록 학습할 수 있다. 실제로 손을 움직이는 것부터 시작해 프로그램을 만드는 즐거움을 알게 해 주고, 다음에 프로그래밍의 기초 지식을 학습한 뒤 마지막에 앱을 작성해 지식의 정착을 도모해 준다. 또한 Flutter 미경험자라도 혼자의 힘으로 앱 개발을 할 수 있게 안내해 세워드리는 것이 이 책의 목표이다.
Contents
제1장 앱을 개발해 보고 싶은 모든 사람에게
1.1 앱 개발이란?
1.2 직업으로 하는 앱 개발
___ 1.2.1 자신이 만든 앱을 다른 많은 사람이 사용할 가능성을 품고 있다
___ 1.2.2 컴퓨터만 있으면 어디에서든 일할 수 있다
___ 1.2.3 고소득 직업이다
1.3 취미로 하는 앱 개발
1.4 앱 개발의 흐름
1.5 앱 개발에서 사용하는 기술
1.6 Flutter란?
1.7 왜 Flutter인가?
___ 1.7.1 빠르다
___ 1.7.2 고성능
___ 1.7.3 크로스 플랫폼
1.8 Flutter vs 다른 프레임워크
1.9 Flutter 개발의 전체 이미지
제2장 Flutter로 앱을 만들 때 준비 사항
2.1 필요한 컴퓨터
___ 2.1.1 어떤 컴퓨터를 골라야 하는가?
___ 2.1.2 칩
___ 2.1.3 메모리
___ 2.1.4 스토리지
___ 2.1.5 가격
2.2 macOS 환경 구축
___ 2.2.1 Flutter 설치하기
___ 2.2.2 경로 지정
___ 2.2.3 Android Studio 셋업
___ 2.2.4 Xcode 셋업
___ 2.2.5 CocoaPods 설치
2.3 Windows 환경 구축
___ 2.3.1 Git for Windows 다운로드
___ 2.3.2 Flutter SDK 다운로드
___ 2.3.3 Flutter SDK를 저장하고 경로 지정
___ 2.3.4 PowerShell로 ‘flutter doctor’
___ 2.3.5 Android Studio 다운로드
___ 2.3.6 Android Studio에 Flutter 플러그인 넣기
___ 2.3.7 Flutter로 프로젝트 만들기
___ 2.3.8 Android 에뮬레이터를 빌드
제3장 Flutter로 화면을 만들어 보자
3.1 Widget의 기본 사용법
___ 3.1.1 Widget의 종류
___ 3.1.2 디자인 취향으로 나누는 Widget의 종류
___ 3.1.3 기타 분류 방법
___ 3.1.4 화면 레이아웃을 구성하기 위해 화면에 표시되는 Widget
___ 3.1.5 화면 레이아웃을 구성하지만 자신은 화면에 표시되지 않는 Widget
___ 3.1.6 버튼과 같이 모양 이외의 기능을 갖고 있는 Widget
___ 3.1.7 Widget 장착의 기본
___ 3.1.8 Widget 장착
3.2 화면 전환
___ 3.2.1 코드 정리
___ 3.2.2 버튼 배치
___ 3.2.3 화면 작성
___ 3.2.4 화면 전환 코드
3.3 다음 화면에 값 전달하기
___ 3.3.1 화면 전환 정리
___ 3.3.2 화면 전환 코드에서 값을 전달하기
___ 3.3.3 이니셜라이저
___ 3.3.4 NextPage의 이니셜라이저를 변경
3.4 이미지 배치
___ 3.4.1 사전 준비
___ 3.4.2 Column으로 묶은 후 Image Widget을 배치
___ 3.4.3 Image의 도큐먼트를 확인
___ 3.4.4 인터넷상의 이미지를 표시
3.5 Text 장식하기
___ 3.5.1 현재 상태
___ 3.5.2 Text Widget의 배치
___ 3.5.3 글자 크기 변경
___ 3.5.4 글자 색 변경
___ 3.5.5 글자 굵기 변경
___ 3.5.6 글자를 기울임체로 변경
___ 3.5.7 밑줄
___ 3.5.8 TextAlign 변경
3.6 입력 폼 만들기
___ 3.6.1 시작 화면
___ 3.6.2 TextField 배치하기
___ 3.6.3 InputDecoration
___ 3.6.4 오토포커스 방법
___ 3.6.5 FocusNode를 사용하여 포커스 이동
___ 3.6.6 onChanged
___ 3.6.7 TextEditingController
3.7 리스트 만들기
___ 3.7.1 초기 상태
___ 3.7.2 리스트 만들기
___ 3.7.3 ListView.builder
제4장 Dart를 통해 프로그래밍의 기초를 배워 보자
4.1 변수란?
___ 4.1.1 변수명은 자신이 정할 수 있다
___ 4.1.2 값이 들어간 상태와 들어 있지 않은 상태
4.2 변수와 ‘형’
4.3 다양한 ‘형’
4.4 각각의 ‘형’ 설명
___ 4.4.1 String이란?
___ 4.4.2 int란?
______ 〈칼럼〉 double이란?
___ 4.4.3 bool이란?
___ 4.4.4 연산자를 사용하여 bool을 표현하기
___ 4.4.5 배열이란?
______ 〈칼럼〉 배열의 요소를 세는 방법
4.5 변수와 상수
___ 4.5.1 변수란?
___ 4.5.2 상수란?
___ 4.5.3 상수의 수식자 const와 final
4.6 클래스와 인스턴스
___ 4.6.1 클래스란?
___ 4.6.2 인스턴스란?
4.7 인스턴스 만드는 법
4.8 ‘!’이나 ‘?’란?
___ 4.8.1 null이란?
___ 4.8.2 null을 허용하지 않는 경우
___ 4.8.3 null을 허용하는 경우
4.9 조건 분기
4.10 반복 구문
4.11 함수
제5장 [실습] 가위바위보 앱을 만들자
5.1 프로젝트 작성
5.2 시뮬레이터에서 동작 확인하기
5.3 앱 이미지
5.4 gawibawiboText를 바꾸기
___ 5.4.1 함수의 사용
___ 5.4.2 텍스트 변경
___ 5.4.3 FloatingActionButton
5.5 가위바위보 버튼 설치
5.6 무작위로 고른다
5.7 enum을 사용하자
______ 〈칼럼〉 get 변수란?
______ 〈칼럼〉 switch문이란?
5.8 승패를 나타내는 enum 만들기
5.9 승패 판정
______ 〈칼럼〉 Null Safety에 대해
______ 〈칼럼〉 ‘??’을 쓰는 방법
5.10 코드 전체 이미지