모두가 할 수 있는 플러터 UI 입문 - 플러터 2 최신판 반영 -

고객평점
저자최주호 외
출판사항앤써북, 발행일:2021/07/30
형태사항p.277 46배판:26
매장위치컴퓨터부(B2) , 재고문의 : 051-816-9500
ISBN9791185553818 [소득공제]
판매가격 17,700원   15,930원  (인터넷할인가:10%)
포인트 797점
배송비결제주문시 결제
절판도서 및 품절도서 입니다 매장으로 문의바랍니다.
재고 0인 도서는 수량 부족으로 발송지연이 예상되니 주문 전 문의바랍니다.

책 소개

이 책은 플러터 2.x 최신 버전을 사용했으며 Flutter와 Dart 기초부터 7가지 유형의 앱/웹 UI를 직접 만들면서 배운다!


플러터(Flutter)와 Dart 다트 언어를 익힌 후 7가지 앱/웹 UI를 직접 만들기를 다음과 같이 3단계 과정으로 진행된다.


▶ 1단계 : 플러터 이해와 시작하기

- 플러터, Dart 언어의 특징, 엔진, 아키텍처, 플러터 2.0 이해한다.

- Flutter SDK 설치, 안드로이드 스튜디오 설정과 플러터 프로젝트 생성 및 실행, Hot Reload를 체험해본다.


▶ 2단계 : Dart 다트 문법 익히기

- DartPad 사용법부터 변수, 연산자, 조건문, 함수, 클래스, 상속, Mixin, 추상 클래스, 컬렉션, 반복문, final과 const, Null Safety 등 Dart 다트 문법을 익힌다.


▶ 3단계 : 7가지 앱/웹 만들기

다양한 앱/웹을 직접 만들어본다.

- 스토어 앱 만들기

- 레시피 앱 만들기

- 프로필 앱 만들기

- 로그인 앱 만들기

- 쇼핑카트 앱 만들기

- 모두의숙소 웹 만들기

- 모두의채팅 앱 만들기


이 책의 예제 소스 코드, 저자에게 질문하는 방법은 “5, 8쪽”을 참고하고, 이 책의 실습 내용 관련 동영상은 6~7쪽을 참고한다. 

작가 소개

최주호

현) blog.naver.com/getinthere 운영

현) jspstudy.co.kr 운영

현) 유튜브 데어프로그래밍 채널 운영

현) 프리랜서 강사

현) 온라인 컨텐츠 제작(이지업, 구름에듀, 한국공개SW협회, 한국융합인재교육협회)

현) 노마드랩 개발 팀장


(저서)

AWS로 구현하는 CI/CD 배포 입문 (앤써북)

모두가 할 수 있는 플러터 UI 실전 (앤써북)

모두가 할 수 있는 플러터 UI 입문 (앤써북)

IoT 사물인터넷을 위한 라즈베리파이 4 정석 (앤써북)

JSPStudy의 JSP & Servlet 웹 프로그래밍 입문 + 활용 (앤써북)

그누위즈의 PHP&MySQL 웹 프로그래밍 입문 + 활용 (전면 개정판) (앤써북) 

목 차

Chapter 01 플러터 이해하기

01_1 플러터 시작하기 플러터란?

UI란?

프레임워크란?


01_2 플러터의 특징


01_3 Dart 언어의 특징


01_4 지금 당장 앱을 만들어야 한다면?


01_5 Skia 엔진


01_6 AOT와 JIT지원

AOT

JIT


01_7 Swift UI와 Android JetPack Compose


01_8 플러터 아키텍처


01_9 플러터 2.0



Chapter 02 Flutter SDK 설치하기

02_1 Flutter SDK 다운로드

Flutter SDK 압축 해제 및 폴더 설정

Flutter 환경변수 설정


02_2 안드로이드 스튜디오 설치하기

안드로이드 스튜디오 다운로드

안드로이드 스튜디오 설치하기

Flutter, Dart 플러그인 설치

Flutter 프로젝트 생성하기

Flutter Doctor

버전 확인 해보기


02_3 안드로이드 스튜디오 환경 설정

자동정렬 설정

글자 크기 및 폰트 설정


02_4 Flutter 에뮬레이터로 first_app 프로젝트 실행하기


02_5 Hot Reload 체험해보기



Chapter 03 Dart 문법 익히기

03_1 DartPad 사용해보기

DartPad 사이트 접속하기

Dart로 HTML 코딩하기

Flutter로 앱 코딩하기

순수 Dart 언어 작성하기


03_2 Dart 변수

변수

타입 확인

타입 추론


03_3 연산자 알아보기

산술 연산자

비교 연산자

논리 연산자


03_4 조건문

If문

삼항 연산자

null 대체 연산자


03_5 함수

함수

익명함수와 람다식 클래스


03_6 클래스란?

객체(Object)란?

객체 지향 프로그래밍

생성자

선택적 매개변수

cascade 연산자


03_7 상속

다형성

슈퍼(super) 키워드

final 키워드와 이니셜 라이저(:) 키워드


03_8 Mixin


03_9 추상 클래스

추상 클래스란?


03_10 컬렉션

List

Map

Set


03_11 반복문

for문

map 함수

스프레드 연산자


03_12 final과 const


03_13 Null Safety

required

Null Safety(?) 적용하기



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 프로필 앱 구조보기

화면 구조보기

필요한 위젯 살펴보기

플로터 프로젝트 생성하기

플로터 2.0 업그레이드

Dart 2.12 버전 적용하기


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에 추가할 HomeBodyPopularItem 만들기

바디에 Popular 완성하기

MediaQuery를 활용하여 HomeHeaderForm 가운데 정렬

안드로이드 에뮬레이터로 실행해보기



Chapter 10 모두의채팅 앱 UI 만들기

10_1 앱 뼈대 만들기

폴더 및 파일 만들기

pubspec.yaml 파일 설정하기

main_screen.dart 기본 코드 작성

main.dart 파일 완성하기


10_2 메인 화면 만들기

MainScreen 위젯 기본 코드 작성하기

IndexedStack의 하위 위젯 만들기

MainScreens 위젯 완성하기


10_3 친구 화면 만들기

User 샘플 데이터 만들기

FriendScreen 기본 코드 입력하기

ProfileCard 위젯 만들기

FriendScreen 완성하기


10_4 프로필 화면 만들기

ProfileScreen 생성하기

ProfileCard에 탭 이벤트 넣기

앱 화면 전체에 배경 넣기

앱바 만들기

If로 하단 아이콘 작성하기

ProfileScreen 완성하기


10_5 채팅 리스트 화면 만들기

채팅 샘플 데이터 만들기

ChatCard 위젯 만들기

ChatScreen 완성하기


10_6 채팅 화면 만들기

ChatRoomScreen 생성하기

ChatCard에 탭 이벤트 넣기

배경 및 앱바 작성하기

TimeLine 위젯 작성하기

OtherChat 위젯 작성하기

MyChat 위젯 작성하기

채팅입력 UI 구현하기


10_7 더보기 화면 만들기

탭 샘플 데이터 만들기

MoreScreen 완성하기


Appendix 유튜브 무료 강의_Getx란?

역자 소개


01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우