마이한빛 > MY 콘텐츠에서 웹뷰어로 바로 이용가능한 상품이며 배송되지 않습니다.
핵심 원리부터 개발 패러다임, 설계 패턴까지 실무 역량을 키우는 올인원 가이드
플러터는 구글이 개발한 오픈 소스 프레임워크로, 하나의 코드베이스로 안드로이드, iOS, 웹, 데스크톱 등 다양한 플랫폼의 애플리케이션을 개발할 수 있게 해줍니다. 다트 언어를 기반으로네이티브에 가까운 성능을 구현할 수 있어, 개발 생산성을 높이고 완성도 높은 결과물을 빠르게 만들어낼 수 있다는 장점이 있습니다.
하지만 플러터로 애플리케이션을 개발하다 보면 단순한 구현을 넘어 아키텍처, 품질 관리, 보안 등 다양한 문제에 직면하게 됩니다. 이 책은 이러한 실무적 고민에 답하기 위해 플러터의 기본 원리부터 아키텍처 스타일, 설계 패턴, 상태 관리, 동시성 처리까지 폭넓게 다룹니다. 더 나아가 시니어 개발자로 성장하는 데 필요한 엔지니어링 관점과 함께 반응형·적응형 UI, 국제화, 테마, 셰이더 같은 고급 주제도 소개하여 실무에 곧바로 적용할 수 있도록 도와줍니다.
공식 문서에서 접했던 개념들을 다시 꼼꼼히 짚어주고, 다양한 예제와 사례를 통해 실무 문제 해결 능력을 기를 수 있게 구성했습니다. 이 책은 단순한 플러터 사용법을 넘어, 견고하고 확장 가능한 애플리케이션을 만들기 위한 소프트웨어 공학적 통찰까지 담고 있습니다.
[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 결론
FLUTTER DEVELOPMENT IS FUN!
단순한 플러터 프로그래밍을 뛰어넘다
이 책은 플러터를 단순한 UI 프레임워크가 아닌 소프트웨어 엔지니어링의 관점에서 풀어냅니다. 기본기를 단단히 다지는 위젯 구조와 플랫폼 통합에서 시작해, 아키텍처 설계, 상태 관리, 동시성, 테스트, CI/CD 등 실무 전반으로 영역을 확장합니다. 더 나아가 보안과 개인 정보 보호 같은 윤리적 엔지니어링과 반응형·적응형 UI, 국제화, 셰이더 등 고급 주제까지 다루며, 개발자가 실제 프로젝트에서 맞닥뜨릴 문제들을 한 권에 담아 탐구합니다.
플러터 개발은 재밌습니다. 그저 단순하게 애플리케이션을 만드는 수준을 넘어, 안정적이고 완성도 높은 소프트웨어를 구축하고 싶은 모든 플러터 개발자에게 이 책은 든든한 길잡이가 될 것입니다.
이 책의 구성