저자

최지호(코드팩토리)

저자:최지호

임페리얼칼리지런던을졸업하고계리컨설팅회사밀리만(Milliman)한국지사에서소프트웨어엔지니어로일했습니다.현재주식회사코드팩토리를창업하여개발을하면서초보자뿐만아니라현직개발자에게도유용한개발강의를제작합니다.밀리의서재플러터전환차세대프로젝트를리드했습니다.

(유튜브채널youtube.com/@codefactory_official)

목차

00장개발환경구축
__0.1윈도우개발환경구축하기
__0.2macOS개발환경구축하기
__0.3안드로이드스튜디오설치하기
__0.4설치문제해결하기
__0.5깃허브에서예제코드내려받기

[1단계]다트언어마스터하기

01장다트마스터하기
__1.1다트소개
__1.2문법공부환경안내
__1.3기초문법
__1.4컬렉션
__1.5연산자
__1.6제어문
__1.7함수와람다
__1.8try...catch
__학습마무리

02장다트객체지향프로그래밍
__2.1객체지향프로그래밍의필요성
__2.2객체지향프로그래밍의시작,클래스
__2.3상속
__2.4오버라이드
__2.5인터페이스
__2.6믹스인
__2.7추상
__2.8제네릭
__2.9스태틱
__2.10캐스케이드연산자
__학습마무리

03장다트비동기프로그래밍
__3.1동기vs.비동기프로그래밍
__3.2Future
__3.3async와await
__3.4Stream
__학습마무리

04장다트3.0신규문법
__4.1레코드
__4.2구조분해
__4.3switch문
__4.4클래스제한자
__학습마무리

[2단계]플러터기본다지기

05장플러터입문하기
__5.1플러터소개
__5.2HelloFlutter앱만들기
__5.3실제단말테스트환경구축
__학습마무리

06장기본위젯알아보기
__6.1위젯소개
__6.2위젯실습용템플릿작성
__6.3텍스트관련위젯
__6.4제스처관련위젯
__6.5디자인관련위젯
__6.6배치관련위젯
__학습마무리

07장앱을만들려면알아야하는그밖의지식
__7.1앱만들기프로세스
__7.2플러그인추가방법
__7.3주변장치종류
__7.4연습용앱만들기:스프레드플래시앱
__학습마무리

[3단계]앱을만들며유용한기능익히기

08장[Project]블로그웹앱
__8.1사전지식:콜백함수웹뷰위젯안드로이드와iOS네이티브설정
__8.2사전준비
__8.3레이아웃구상하기
__8.4구현하기
__8.5테스트하기
__학습마무리

09장[Project]전자액자
__9.1사전지식:위젯생명주기타이머
__9.2사전준비
__9.3레이아웃구상하기
__9.4구현하기
__9.5테스트하기
__학습마무리

10장[Project]만난지며칠U&I
__10.1사전지식:setState()함수showCupertinoDialog()함수
__10.2사전준비
__10.3레이아웃구상하기
__10.4구현하기
__10.5테스트하기
__학습마무리

11장[Project]디지털주사위
__11.1사전지식:가속도계자이로스코프Sensor_Plus패키지
__11.2사전준비
__11.3레이아웃구상하기
__11.4구현하기
__11.5테스트하기
__학습마무리

12장[Project]동영상플레이어
__12.1사전지식:iOS시뮬레이터화면회전하기안드로이드에뮬레이터화면회전하기시간변환및String패딩
__12.2사전준비
__12.3레이아웃구상하기
__12.4구현하기
__12.5테스트하기
__학습마무리

13장[Project]영상통화
__13.1사전지식:카메라플러그인WebRTCiOS시뮬레이터와안드로이드에뮬레이터에서의카메라사용내비게이션
__13.2사전준비
__13.3레이아웃구상하기
__13.4구현하기
__13.5테스트하기
__학습마무리

14장[Project]오늘도출첵
__14.1사전지식:Geolocator플러그인
__14.2사전준비
__14.3레이아웃구상하기
__14.4구현하기
__14.5테스트하기
__학습마무리

15장[Project]포토스티커
__15.1사전지식:GestureDetector와제스처
__15.2사전준비
__15.3레이아웃구상하기
__15.4구현하기
__15.5테스트하기
__학습마무리

16장[Project]코팩튜브
__16.1사전지식:HTTP요청RESTAPIJSON
__16.2사전준비
__16.3레이아웃구상하기
__16.4구현하기
__16.5테스트하기
__학습마무리

[4단계]실전!일정관리앱개발&인증&배포하기

17장[Project#1]일정관리앱만들기
__17.1사전지식:table_calendar플러그인
__17.2사전준비
__17.3레이아웃구상하기
__17.4구현하기
__17.5테스트하기
__학습마무리

18장[Project#2]데이터베이스적용하기
__18.1사전지식:SQL,SQLite드리프트플러그인Dismissible위젯
__18.2구현하기
__18.3테스트하기
__학습마무리

19장[Project#3]서버와연동하기
__19.1사전지식:상태관리캐시와긍정적응답
__19.2사전준비
__19.3구현하기
__19.4테스트하기
__학습마무리

20장[Project#4]파이어베이스연동하기
__20.1사전지식:파이어베이스파이어스토어
__20.2사전준비
__20.3구현하기
__20.4테스트하기
__학습마무리

21장[Project#5]JWT를이용한인증하기
__21.1사전지식:인증JWT란엑세스토큰과리프레시토큰JWT를이용한인증절차
__21.2사전준비
__21.3구현하기
__21.4테스트하기
__학습마무리

22장[Project#6]소셜로그인과파이어베이스인증하기
__22.1사전지식:소셜로그인과OAuth2.0파이어베이스인증구글로그인세팅
__22.2사전준비
__22.3레이아웃구상하기
__22.4구현하기
__22.5테스트하기
__학습마무리

23장[Project#7]슈파베이스연동하기
__23.1사전지식:슈파베이스란행수준보안슈파베이스인증
__23.2사전준비
__23.3레이아웃구상하기
__23.4구현하기
__23.5테스트하기
__학습마무리

24장[Project#8]광고및배포하기
__24.1사전지식:구글애드몹
__24.2사전준비
__24.3구현하기
__24.4배포하기:구글스토어&애플앱스토어
__학습마무리

[부록]
__A데이터베이스종류와하이브
__B앱이름과아이콘설정방법
__C코딩이편해지는안드로이드스튜디오편의기능
__D흔히마주하는에러

출판사 서평

다트3.0최신문법과소셜로그인,슈파베이스연동,인증그리고광고와배포까지
플러터앱개발,이책한권이면충분하다

혼자하는앱개발,내가과연할수있을까?망설여지나요?걱정하지마세요.《코드팩토리의플러터프로그래밍》그리고저자선생님과함께라면실무자수준으로실력향상은시간문제입니다.이책은플러터시작을위한다트언어를기초부터객체지향,비동기프로그래밍,신규3.0문법까지4개장에걸쳐다룹니다.독자가꼭필요한내용을학습할수있도록플러터기본위젯부터현업에유용한기능을담은10가지앱을배울수있도록구성했습니다.개발,인증,연동,광고,배포까지기능실습에부족함없는구성으로학습을마무리할때쯤이면실무자수준의실력을갖출수있도록했습니다.열심히책을보고공부하며따라하지만중간에막힌다면걱정하지마세요.저자가운영하는유튜브와디스코드채널,오픈톡을통해그간의문제히스토리그리고친절한답변까지들을수있습니다.

이책의특징

_1강의에서검증받은커리큘럼을담았습니다.먼저책목차를만든다음온라인강의를만들었습니다.많은분이수강해주셨고인기강의가되었습니다.수강자의다양한목소리를책에반영했습니다.

_2배운이론을곧바로써먹습니다.이론을모두배우고나서앱을만들려고하면정작써먹어야할때아무것도기억나지않습니다.배운이론을곧바로활용해야익숙해지고기억도잘납니다.그래서기초지식을1단계에서탄탄히다지고나서,2단계에서는핵심플러터기능을살펴본후앱만들기로돌입합니다.앱마다필요한이론을사전지식으로알려주고곧바로앱을개발하기때문에효과적으로학습할수있습니다.

_3실무에유용한기능을담은앱을만듭니다.앱종류만많다고스킬업을할수있는게아닙니다.현업에서정말유용한기능을다루냐가중요합니다.요즘앱은동영상플레이,채팅,QR코드인식,서버와의통신은필수입니다.총10가지앱각각에서유용한기능을다룹니다.마지막10번째앱은다양한기능실습과높은완성도로총8개장으로다루고있어,이책을모두학습하고나면실무자수준까지실력이향상되어있을겁니다

_4실제프로젝트현장에서기능을구현하듯이만듭니다.현업에서는한번에기능을구현하지않습니다.전체구조를잡고동작을임시로구현하고나서점점로직을완성해나갑니다.그래서완성된앱소스를가지고설명하는방식은학습효과가떨어집니다.이미완성된요리로재료손질법을설명하는방식이기때문입니다.이책은현업에서와같은방법으로앱의완성도를점진적으로높이는방식을사용합니다.로직하나하나를업그레이드해나가면서개발하는과정을보여주기때문에학습자가직접따라하면서어렵지않게앱개발과정을체득할수있습니다.

_5변경하거나수정한코드를확실하게표시합니다.지속적으로코드를수정해완성하기때문에기존코드어디를수정혹은삭제했는지알수있어야합니다.편리하게찾을수있게변경사항이있는코드를삭제선과노란배경색으로표시했습니다.

_6체계적으로알려주고만듭니다.[프로젝트소개]→[사전지식]→[사전준비]→[UI구상하기]→[구현하기]→[테스트하기]순서를꼭지켜서앱을만듭니다.체계적으로이끌어주기때문에코딩을하다가길을잃을염려가없습니다.

_7다트기초문법부터앱개발,파이어베이스&슈파베이스연동,인증,광고,배포까지모두담았습니다.플러터개발의토대인다트입문부터다트3.0신규문법을통해객체지향언어에대한이해도체계적으로할수있습니다.앱개발서비스인파이어베이스와슈파베이스연동은물론JWT를이용한인증과편리함을주는소셜로그인까지배웁니다.최종적으로앱출시과정까지경험해보기위해마지막단계에서는광고를붙이고배포를통해모든과정을직접진행해봅니다.

숫자로보는책의특징

_0부터아무것도몰라도OK
적어도한개언어를써봤다면다트언어와플러터와안드로이드를전혀몰라도됩니다.처음부터배포까지하나하나알려드립니다.

_2가지OS개발환경대응
윈도우,맥OS개발환경을구축하고실습할수있게안내합니다.

_3.13플러터버전
2023년에공개된플러터최신버전을사용합니다.

_4가지난이도프로젝트제공
입문수준★하나부터고난도★★★★수준앱을골고로만들어봅니다.

_5단계개발및배포
최소기능제품으로구현한일정관리앱을업그레이드하며개발하고배포합니다.실무처럼일하는방법을체험할수있습니다.

_10가지유용한앱구현
블로그웹앱,전자액자(이미지),만난지며칠U&I,디지털주사위,동영상플레이어,영상통화,오늘도출첵,포토스티커,코팩튜브,일정관리앱을만듭니다.

이책의구성

이책은학습흐름을끊지않기위해개발환경부터미리구축해놓은후,다음과같이총4단계에걸쳐플러터로안드로이드와iOS앱을개발하는방법을공략합니다.

_1단계:다트언어마스터하기
플러터는다트언어를사용합니다.플러터로앱을원활히개발하려면다트를탄탄하게아는것이중요합니다.그래서이책은또다른자료를찾아보지않아도될정도로깊이있게다트를다룹니다.1장에서기초문법,2장객체지향프로그래밍,3장비동기프로그래밍,4장다트3.0신규문법까지학습합니다.

_2단계:플러터기본다지기
플러터프레임워크,기본위젯,앱을만들려면알아야하는기본지식을알아보겠습니다.플러터는‘쉬운’에상당한무게를두고개발되었습니다.얼마나다루기쉬운프레임워크인지직접체험하는시간이될겁니다.

_3단계:앱을만들며유용한기능익히기
본격적으로플러터실력을향상시켜봅시다.직접10가지앱을구현하면서실전기반으로프로그래밍지식을습득해갑니다.각앱에서사용하는핵심기능을사전지식으로먼저배우고나서곧바로활용해이론을생생하게살려실습할수있게구성했습니다.

_4단계:실전!일정관리앱개발&배포하기
일정관리앱을단계별로발전시키며개발하고광고를붙여배포합니다.17장은일정생성과특정날짜의일정조회기능을,18장은드리프트를사용해로컬데이터베이스SQLite에일정을저장합니다.19장은서버와통신을통한원격데이터베이스사용법과20장은파이어베이스의파이어스토어를사용해데이터저장을배웁니다.21장은JWT를활용한인증,22장은소셜로그인과파이어베이스인증,23장은슈파베이스를다룹니다.마지막으로24장에서광고를붙이고구글플레이와애플앱스토어에배포하는과정을통해실무적으로활용도높은내용을배우게됩니다.