수많은 컴퓨터 공학과 학생들과 함께한 저자가 집필하며 세운 세 가지 원칙에 맞추어 차근차근 Dart와 Flutter를 설명합니다. Dart가 다른 언어와 비슷하다고 해서 적당히 설명하고 바로 Flutter로 넘어가지 않습니다. 프로그래밍을 처음 시작하는 여러분을 위해 수행 결과와 예제 코드를 보여주며 한 줄 한 줄 친절하게 설명하고, 시행착오를 줄일 수 있도록 처음부터 개발자 습관을 길러줍니다. 그리고 마지막으로 책의 내용을 따라오다 보면 개발자 공고 속 숨겨진 조건인 ‘지속 가능한 개발자’를 만족하는 여러분을 마주하게 될 것입니다.
처음에는 프로그래밍을 시작하는 독자애게 프로그래밍 언어의 간단한 역사를 알려주며 Dart 언어를 권하는 이유를 알려줍니다. 그 후 Dart 언어의 문법을 충분히 이해할 수 있도록 준비한 예제 프로그램 줄 단위로 꼼꼼히 알려줍니다. 문법을 익힌 후 Dart 언어만으로 웹 서버와 클라이언트도 만들어봅니다 볼륨 E부터는 Flutter를 사용합니다. 우선 플러터로 모바일 앱을 만들며 플러터의 구조와 대표적인 위젯, 레퍼런스 프로그램을 개발하고 난 뒤 플러터의 강점인 크로스 플랫폼 능력을 이용하여 데스크톱, 웹에서 동작하는 프로그램을 만듭니다. 기능을 다 익히고 난 뒤에는 개발자로서 활용할 수 있는 팁과 추후 다양한 분야로 나아갈 때 도움이 될 노하우를 알려줍니다.
Contents
머리말
이 책을 읽는 법
목차
VOLUME.A 시작에 앞서
01. Full Stack 프로그래머 지원자에게 Dart 언어를 권하는 이유
02. 앞으로 자주 방문하게 될 웹 사이트 소개
VOLUME.B Dart 언어 기초 이해
01. DartPad를 이용하여 개발 환경 구축하기
02. Hello World 프로그램 개발하기
03. 기초적인 숫자와 문자 다루기
04. 숫자 자세히 다루기
05. 문자 자세히 다루기
06. 조건문으로 작업하기
07. 반복문으로 작업하기
08. 함수를 이용하여 반복 작업하기
09. Class를 이용하여 객체지향 프로그래밍 이해하기
10. List를 이용하여 복수 데이터 처리하기
11. Set을 이용하여 집합 데이터 처리하기
12. Map을 이용하여 사전 데이터 처리하기
13. 알아 두면 요긴한 Dart 언어 기능 이해하기
VOLUME.C Dart 언어 심화 이해
01. Class 직접 만들기 Part.1
02. Class 직접 만들기 Part.2(mixin)
03. Class 직접 만들기 Part.3(추상 클래스)
04. Class 직접 만들기 Part.4(Generic)
05. 비동기 입출력 기능 활용하기
06. 예외 상황 처리를 통한 프로그램 안정성 강화하기
07. Dart 개발 환경 설치하기
08. 키보드 입력 화면 및 화면 출력 수행하기
09. 파일 입출력 기능 활용하기
10. 표준 라이브러리 활용하기
VOLUME.D HTTP 서버와 클라이언트 개발
01. Microsoft Visual Studio Code 기반 개발 환경 구축하기
02. HTTP 프로토콜 이해하기
03. HTTP Client & Server 개발하기
04. JSON 활용하기
05. REST API 기반 CRUD 개발하기
VOLUME.E Flutter로 Mobile App 개발
01. DartPad를 이용한 Hello World 프로그램 개발하기
02. Hello World 프로그램 진화시키기 Part.1
03. Hello World 프로그램 진화시키기 Part.2
04. Flutter 이해하기
05. Flutter 공식 Counter 프로그램 이해하기
06. Stateless Widget 활용하기
07. Stateful Widget 활용하기
08. 두고두고 활용할 레퍼런스 프로그램 개발하기
09. 스마트폰에서 Flutter 프로그램 실행하기
VOLUME.F Flutter로 Desktop App 개발
01. Flutter for Desktop 이해하기
02. Flutter 아키텍처 이해하기
VOLUME.G Flutter로 Web 서비스 개발
01. Flutter for Web 이해하기 Part.1
02. Flutter for Web 이해하기 Part.2
03. Flutter for Web 개발하기
04.. Flutter for Web 운영하기
05. Flutter for Web 아키텍처 이해하기
VOLUME.H 지속 가능한 개발자로 첫걸음 내딛기
01. Dart for Embedded 알아 두기
02. 추가 패키지 활용하기
03. Flutter 공식 사이트 레퍼런스와 샘플 활용하기
04. Flutter CLI 명령 이해하기
05. Dart와 Flutter 최신 정보 신청하기
VOLUME.I 알아 두면 요긴한 분야별 노하우
01. Alfred 웹 서버 프레임워크 사용하기
02. 데이터베이스 활용하기
03. Docker를 이용한 컨테이너 기반 서비스 개발하기
04. 서로 다른 디바이스 간에 통신하기
05. WebSocket 기반 네트워킹 기능 개발하기
06. Dart for Web 활용하기
07. FFI로 C언어 연결하기
08. 라즈베리 파이에서 Dart와 Flutter 활용하기
09. XD2Flutter로 디자인 개선하기
10. Flutter 앱 배포하기
11. Concurrency 기반 병렬 처리 개발하기
12. 컴퓨터공학 전문 이론 공부하기
13. TensorFlow 활용하기
14. Flutter 클라우드 개발 환경 활용하기
Author
이성원
경희대학교 소프트웨어융합학과 교수입니다. 경희대학교 전자계산공학과에서 학사와 석사, 박사학위를 받았으며, 삼성전자에서 이동통신 시스템과 서비스를 개발하였습니다. 주요 관심 분야는 이동통신, 컴퓨터 네트워킹, 오픈소스 소프트웨어입니다. 과거 이동통신 관련 국제 특허 작성이 주 업무였고, 최근에는 풀스택 소프트웨어와 데이터센터 프로그래밍 강좌를 다수 운영 중이며 직접 대학생을 위한 서비스를 개발 및 운영하고 있습니다.
경희대학교 소프트웨어융합학과 교수입니다. 경희대학교 전자계산공학과에서 학사와 석사, 박사학위를 받았으며, 삼성전자에서 이동통신 시스템과 서비스를 개발하였습니다. 주요 관심 분야는 이동통신, 컴퓨터 네트워킹, 오픈소스 소프트웨어입니다. 과거 이동통신 관련 국제 특허 작성이 주 업무였고, 최근에는 풀스택 소프트웨어와 데이터센터 프로그래밍 강좌를 다수 운영 중이며 직접 대학생을 위한 서비스를 개발 및 운영하고 있습니다.