플러터 엔지니어링

고객평점
저자마지드 하지안
출판사항한빛미디어, 발행일:2025/09/29
형태사항p.672 B5판:24
매장위치자연과학부(B2) , 재고문의 : 051-816-9500
ISBN9791169214377 [소득공제]
판매가격 44,000원   39,600원  (인터넷할인가:10%)
포인트 1,980점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

FLUTTER DEVELOPMENT IS FUN!

단순한 플러터 프로그래밍을 뛰어넘다

이 책은 플러터를 단순한 UI 프레임워크가 아닌 소프트웨어 엔지니어링의 관점에서 풀어냅니다. 기본기를 단단히 다지는 위젯 구조와 플랫폼 통합에서 시작해, 아키텍처 설계, 상태 관리, 동시성, 테스트, CI/CD 등 실무 전반으로 영역을 확장합니다. 더 나아가 보안과 개인 정보 보호 같은 윤리적 엔지니어링과 반응형·적응형 UI, 국제화, 셰이더 등 고급 주제까지 다루며, 개발자가 실제 프로젝트에서 맞닥뜨릴 문제들을 한 권에 담아 탐구합니다.

플러터 개발은 재밌습니다. 그저 단순하게 애플리케이션을 만드는 수준을 넘어, 안정적이고 완성도 높은 소프트웨어를 구축하고 싶은 모든 플러터 개발자에게 이 책은 든든한 길잡이가 될 것입니다.


⚫이 책의 구성

Part 1 플러터 엔지니어링 기초: 플러터와 관련된 소프트웨어 공학 개념과 기본 원리를 소개하며, 설계 패턴을 통해 안정적인 기초 지식을 쌓을 수 있도록 안내합니다.

Part 2 아키텍처: 다양한 스타일과 설계 패턴, 동시성·상태 관리 등 핵심 개념을 폭넓게 다루며, 전략적 사고와 의사결정 능력을 기를 수 있도록 도와줍니다.

Part 3 프로세스: CI /CD, 테스트, 문서화 등 체계적인 개발 과정을 정리해, 효율적이고 일관된 애플리케이션 개발 실무를 지원합니다.

Part 4 윤리적 엔지니어링: 보안, 개인 정보 보호, 접근성을 중심으로 사용자 친화적인 애플리케이션을 설계할 수 있는 윤리적 엔지니어링의 기준을 제시합니다.

Part 5 고급 UI 개발: 반응형 UI, 커스텀 페인팅, 국제화, 테마 설정 등 고급 주제를 다루며, 사용자 친화적인 인터페이스 구현 능력을 한 단계 끌어올려 줍니다. 

작가 소개

지은이 : 마지드 하지안

2006년부터 웹과 모바일 애플리케이션을 개발해 온 소프트웨어 엔지니어이자 플러터 구글 디벨로퍼스 엑스퍼트(Google Developers Expert, GDE)입니다. 전문 분야는 플러터, 웹, 클라우드, AI이며 집필과 강연, 오픈 소스 활동을 통해 개발자 커뮤니티와 활발히 교류합니다. 또한 세계 각지의 콘퍼런스를 이끌며 소프트웨어 개발 분야의 발전과 혁신에 기여하고 있습니다.


옮긴이 : 한국 플러터 커뮤니티 

국내 플러터 개발자 생태계의 성장을 위해 커뮤니티 활동을 이어가고 있습니다. 플러터 서울과 플러터 인천의 운영진으로서 밋업과 세미나를 꾸준히 열며, 개발자들이 함께 배우고 성장하는 기반을 만드는 데 힘쓰고 있습니다. 또한 캐나다 몬트리올에서 활동하는 플러터 및 다트 구글 디벨로퍼스 엑스퍼트(GDE) Jhin Lee(이진석)와 협력하여, 현업 경험과 글로벌 인사이트를 번역 작업에 녹여내고자 했습니다. 커뮤니티에서 얻은 지식과 경험을 독자와 나누며 더 많은 개발자가 플러터를 친근하게 접할 수 있기를 바랍니다.

목 차

[PART 1 플러터 엔지니어링 기초]


CHAPTER 1 플러터 엔지니어링 핵심 개념

_1.1 플러터의 소프트웨어 엔지니어링

_1.2 핵심 원칙 파헤치기

_1.3 플러터 개발 생명주기

_1.4 플러터 엔지니어링 대 프로그래밍

_1.5 기술 진화 속 플러터의 위치

_1.6 결론


CHAPTER 2 플러터 아키텍처 및 엔지니어링 개요

_2.1 플러터의 내부 구조의 중요성

_2.2 플러터의 반응형 및 선언형 특징

_2.3 플러터의 모토

_2.4 주요 구성 요소와 프레임워크

_2.5 그래픽, 렌더링, 시각화

_2.6 위젯과 애플리케이션의 생명주기 탐색하기

_2.7 플러터 UI에서 제약 조건 관리하기

_2.8 플러터에서 키의 중요성과 사용법

_2.9 결론


CHAPTER 3 플러터와 네이티브 플랫폼 통합

_3.1 플랫폼 채널

_3.2 다트 FFI

_3.3 FFIgen

_3.4 JNIgen

_3.5 결론


CHAPTER 4 플러터에 엔지니어링 원칙 적용하기

_4.1 객체 지향 프로그래밍 분석

_4.2 클래식 소프트웨어 원칙 적용하기

_4.3 결론


CHAPTER 5 플러터 디자인 패턴

_5.1 디자인 패턴의 역할

_5.2 생성적 패턴

_5.3 구조적 패턴

_5.4 행동 패턴 역할에 대한 이해

_5.5 결론


[PART 2 아키텍처]


CHAPTER 6 아키텍처 입문

_6.1 설계적 결정의 핵심 역할

_6.2 소프트웨어 설계적 선택에 영향을 주는 변수

_6.3 아키텍처 생태계 파악하기

_6.4 설계적 사고 기르기

_6.5 반복 설계

_6.6 단순성과 복잡성 사이에서 균형 잡기

_6.7 결론


CHAPTER 7 아키텍처 스타일 소개

_7.1 아키텍처 스타일의 이해

_7.2 계층형 스타일

_7.3 이벤트 기반 아키텍처

_7.4 마이크로커널(플러그인) 아키텍처

_7.5 기타 아키텍처 방식과 패러다임

_7.6 결론


CHAPTER 8 UI 아키텍처 패턴

_8.1 UI 아키텍처의 배경

_8.2 주목할 만한 플러터 아키텍처들

_8.3 플러터 표준 외의 아키텍처들

_8.4 클린 아키텍처

_8.5 기회비용 고려하기

_8.6 플러터 아키텍처 커스터마이징

_8.7 결론


CHAPTER 9 동시성과 병렬성

_9.1 동시성과 병렬성 이해하기

_9.2 효율적인 작업 처리의 중요성

_9.3 플러터의 단일 UI 스레드 원칙

_9.4 비동기 프로그래밍 삼총사

_9.5 비동기 데이터 흐름 관리하기

_9.6 isolate로 범위 확장하기

_9.7 결론


CHAPTER 10 플러터의 오프라인 기능

_10.1 오프라인 대응의 장점과 도전 과제

_10.2 오프라인 우선 아키텍처

_10.3 연결 상태 변경 모니터링 및 처리

_10.4 백그라운드 동기화 중 데이터 무결성 보장

_10.5 캐싱 패턴

_10.6 결론


CHAPTER 11 상태 관리

_11.1 애플리케이션 상태 이해하기

_11.2 로컬 상태와 전역 상태: 효과적인 범위 지정 방법

_11.3 플러터의 내장 상태 관리 접근 방식

_11.4 최선의 솔루션 선택하기

_11.5 플러터의 유연성: 교체 및 반복

_11.6 결론


CHAPTER 12 플러터의 의존성 주입

_12.1 의존성 주입의 원칙

_12.2 분리된 코드의 이점

_12.3 플러터에서 의존성 주입 구현하기

_12.4 플러터의 의존성 주입 패키지 살펴보기

_12.5 결론


[PART 3 프로세스]


CHAPTER 13 규칙 및 스타일 가이드라인

_13.1 규칙의 근거

_13.2 의미 있는 가이드라인 정의하기

_13.3 규칙 준수 보장하기

_13.4 자동화로 일관성 확보하기

_13.5 린터와 dartfmt

_13.6 결론


CHAPTER 14 개발 협업

_14.1 버전 관리 필수 사항

_14.2 플러터 개발에 CI/CD 도입하기

_14.3 효과적인 코드 리뷰

_14.4 결론


CHAPTER 15 문서화의 미학

_15.1 소프트웨어 개발 문서화의 스펙트럼

_15.2 플러터의 문서화 철학

_15.3 살아있는 문서

_15.4 오래된 문서의 위험성

_15.5 결론


CHAPTER 16 플러터의 테스트

_16.1 테스트의 중요성

_16.2 플러터 테스트 단계 이해하기

_16.3 단위 테스트와 위젯 테스트 핵심 원칙

_16.4 테스트 더블

_16.5 플러터에서의 테스트 더블

_16.6 통합 테스트와 골든 테스트의 세계

_16.7 결론


CHAPTER 17 환경과 플레이버

_17.1 다중 환경과 플레이버의 필요성

_17.2 원활한 CI/CD 통합

_17.3 결론


[PART 4 윤리적 엔지니어링]


CHAPTER 18 플러터의 보안 우선순위

_18.1 보안의 기본 원칙

_18.2 CIA 삼각형: 기밀성, 무결성, 가용성

_18.3 OWASP Top 10 대응

_18.4 정적 분석 및 동적 분석

_18.5 플러터 보안 모범 사례

_18.5 결론


CHAPTER 19 플러터의 암호화

_19.1 암호화 방식의 차이

_19.2 해싱의 기본

_19.3 디지털 서명을 통한 데이터 무결성 보장

_19.4 결론


CHAPTER 20 사용자 개인 정보 보호

_20.1 주요 개인 정보 용어 이해하기

_20.2 개인 정보 보호 설계 철학 수용하기

_20.3 사용자 개인 정보 보호 모범 사례

_20.4 국제 데이터 보호 규정

_20.5 결론


CHAPTER 21 모두를 위한 접근성 보장하기

_21.1 다양한 장애 인지하기

_21.2 포용적 애플리케이션 디자인의 명백한 이점

_21.3 접근성의 네 가지 요소

_21.4 접근성을 높이는 도구와 위젯

_21.5 플러터 접근성 진단

_21.6 결론


[PART 5 고급 UI 개발]


CHAPTER 22 적응형 UI 구축

_22.1 플랫폼별 UI 고려 사항

_22.2 고유한 플랫폼 기능 활용하기

_22.3 결론


CHAPTER 23 반응형 UI 기법

_23.1 반응형 디자인의 원칙

_23.2 플러터에서의 반응성 접근 방식

_23.3 화면 방향에 따른 UI 조정

_23.4 결론


CHAPTER 24 i18n과 l10n

_24.1 i18n와 l10n의 주요 차이점

_24.2 플러터에서 국제화 구현하기

_24.3 RTL 언어 환경을 위한 UI 설계

_24.4 결론


CHAPTER 25 플러터에서 테마 활용하기

_25.1 플러터 테마

_25.2 커스텀 테마 기법

_25.3 다크 테마와 라이트 테마 관리하기

_25.4 머티리얼 애플리케이션 테마 만들기 단계

_25.5 테마 만들기 도구

_25.6 결론


CHAPTER 26 커스텀 페인터와 셰이더

_26.1 커스텀 페인터의 기술

_26.2 셰이더 탐구

_26.3 플러터에서 셰이더 사용하기

_26.4 결론

역자 소개


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 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우