젯팩 컴포즈로 개발하는 안드로이드 UI
Description
젯팩 컴포즈는 안드로이드 UI 개발의 새로운 패러다임이다. 이 책은 젯팩 컴포즈를 통해 안드로이드 애플리케이션을 개발할 수 있도록 도와줄 것이다. 젯팩 컴포즈로 안드로이드를 처음 개발해보는 개발자는 물론이고, 기존에 개발한 안드로이드 애플리케이션에 젯팩 컴포즈를 적용하고자 하는 개발자에게도 유익하다.
저자

토마스쿠네스

안드로이드GDE(GoogleDeveloperExpert)며안드로이드와관련해여러국제콘퍼런스에서연사와토론자로활동해왔다.첫번째안드로이드앱은2010년에출시됐으며100,000건의다운로드수를기록했다.현재MATHEMAGmbH에서수석컨설턴트이자모바일책임자로근무하고있으며소프트웨어아키텍처와안드로이드개발자로서경험을쌓아가고있다.수많은글을기고해왔을뿐만아니라독일에서가장많이팔린안드로이드책(현재6판)의저자이기도하다.또한다양한오픈소스프로젝트에도자주기여해왔다.

목차

01장.컴포즈앱첫빌드
__기술요구사항
__컴포저블함수와인사
____환영인사나타내기
____열,텍스트필드,버튼사용
____인사말출력
__미리보기사용
____미리보기매개변수
____미리보기설정
____미리보기그룹화
__컴포즈앱실행
____컴포저블함수배포
____액티비티에서컴포저블함수사용
____내부살펴보기
____플레이버튼누르기
__요약
__참고도서


02장.선언적패러다임이해
__기술요구사항
__안드로이드뷰시스템살펴보기
____레이아웃파일인플레이팅
____UI수정
__컴포넌트에서컴포저블함수로이동
____컴포넌트계층구조
____컴포넌트계층구조의한계
____함수를사용해UI조합
__아키텍처관점에서설명
____클릭동작에반응
____UI요소크기조절과배치
__요약


03장.컴포즈핵심원칙자세히알아보기
__기술요구사항
__컴포저블함수자세히살펴보기
____컴포저블함수의구성요소
____UI요소내보내기
____값반환
__UI구성또는재구성
____컴포저블함수간상태공유
____크기제어
____액티비티내에서컴포저블계층구조나타내기
__컴포저블함수의행위수정
____변경자동작이해
____커스텀변경자구현
__요약


04장.UI요소배치
__기술요구사항
__미리정의된레이아웃사용
____기본구성요소조합
____제약조건을기반으로하는레이아웃생성
__단일측정단계의이해
____측정정책정의
__커스텀레이아웃작성
____커스텀측정정책구현
__요약


05장.컴포저블함수상태관리
__기술요구사항
__상태를갖거나갖지않는컴포저블함수이해
____컴포저블함수에서상태사용
____상태를갖지않는컴포저블함수작성
__상태호이스팅과이벤트전달
____라디오버튼그룹생성
__환경설정변경에도데이터유지
____ViewModel사용
__요약


06장.조립
__기술요구사항
__컴포즈앱스타일링
____색상,모양,텍스트스타일정의
____리소스기반의테마사용
__툴바와메뉴통합
____화면구조화를위해Scaffold()사용
____상단앱바생성
__내비게이션추가
____화면정의
____NavHostController와NavHost()사용
__요약


07장.팁,트릭,모범사례
__기술요구사항
__상태유지와검색
____ViewModel에객체주입
____팩토리사용
__컴포저블을반응성있게유지
____ViewModel인스턴스와소통
____장기간동작하는작업처리
__부수효과의이해
____중단함수호출
____DisposableEffect()으로정리
__요약


08장.애니메이션적용
__기술요구사항
__애니메이션을사용한상태변화시각화
____한가지값을변경하는애니메이션
____여러값을변경하는애니메이션
__애니메이션을사용해UI요소를노출하거나숨기기
____AnimatedVisibility()의이해
____크기변경애니메이션
__시각효과를통한트랜지션향상
____크로스페이드컴포저블함수
____애니메이션사양의이해
__요약


09장.상호운용API자세히알아보기
__기술요구사항
__컴포즈앱에서뷰나타내기
____컴포즈앱에커스텀컴포넌트추가
____AndroidViewBinding()으로뷰계층구조인플레이팅
__뷰와컴포저블함수간데이터공유
____ViewModel다시보기
____뷰바인딩과ViewModel조합
__뷰계층구조에컴포저블임베디드
__요약


10장.컴포즈앱테스트와디버깅
__기술요구사항
__환경설정과테스트작성
____유닛테스트구현
____컴포저블함수테스트
__시맨틱이해
____시맨틱노드로작업
____커스텀시맨틱프로퍼티추가
__컴포즈앱디버깅
____로깅과디버깅을위해커스텀변경자사용
__요약
__더읽을거리


11장.결론과다음단계
__기술요구사항
__미래탐험
____노출된드롭다운메뉴나타내기
____NavigationRail()사용
__머티리얼유로이관
____컴포즈에서머티리얼2와머티리얼3간의차이점
__안드로이드를넘어서
____샘플프로젝트설정
__결론

출판사 서평

◈이책에서다루는내용◈

◆젯팩컴포즈의핵심개념이해
◆사용자친화적이고안정적인UI요소개발
◆젯팩컴포즈로완전한앱만들기
◆기존안드로이드애플리케이션에젯팩컴포즈추가
◆젯팩컴포즈를사용하는앱테스트및디버깅
◆다른플랫폼에서의젯팩컴포즈활용


◈이책의대상독자◈

새로운젯팩컴포즈프레임워크의핵심개념과네이티브개발의장점을이해하고자하는모든모바일개발자를대상으로한다.코틀린프로그래밍언어에대한지식을포함해안드로이드앱개발에대한확실한이해가있다면더욱유익할것이다.책에서다루는개념을효과적으로이해하려면기본적인프로그래밍지식이필요하다.


◈이책의구성◈

1장,‘컴포즈앱첫빌드’에서는여러분의첫번째컴포즈앱을빌드하는방법을보여준다.또한컴포저블함수와미리보기같은중요한핵심개념도소개한다.
2장,‘선언적패러다임이해’에서는선언적방식을사용하기전의방식을설명하고오래된접근방식에서오는문제는무엇인지설명한다.
3장,‘컴포즈핵심원칙자세히알아보기’에서는젯팩컴포즈가의존하는핵심원칙을소개한다.이내용은잘동작하는컴포즈앱을작성하는데꼭필요하다.
4장,‘UI요소배치’에서는제공되는레이아웃일부를소개한다.또한커스텀레이아웃을구현하는방법도살펴본다.
5장,‘컴포저블함수상태관리’에서는젯팩컴포즈가상태를어떻게관리하는지살펴본다.상태는시간이흐름에따라변할수있는앱데이터이며컴포저블함수는상태를출력하거나변경한다.
6장,‘조립’에서는앞에서배운개념을복습하고앱에포함해본다.실제코드로개념을확인하면개념을이해하는데도움이되며프로그램에서이를재사용하기가더쉬워진다.
7장,‘팁,트릭,모범사례’에서는컴포즈를사용할때의모범사례를알아본다.여기에는상태유지및검색과부수효과로불리는동작의사용법과같은주제가포함된다.
8장,‘애니메이션적용’에서는관련된모든API를소개한다.애니메이션과트랜지션은앱을멋지게만들어준다.
9장,‘상호운용API자세히알아보기’에서는앱안에서선언적접근방식과명령적접근방식을결합하는전략을살펴본다.또한기존UI를젯팩컴포즈로손쉽게업데이트할수있는마이그레이션전략을제공한다.
10장,‘컴포즈앱테스트와디버깅’에서는컴포즈앱을위한기본적인테스트시나리오를소개한다.컴포즈앱의사용자기반인터페이스테스트는뷰기반의UI테스트와는다르게동작한다.
11장,‘결론과다음단계’에서는이후에시도할수있는것들을안내하며책을마무리한다.또한젯팩컴포즈의미래를예측해보고인접해있는플랫폼들을살펴보면서어떠한이점을얻을수있을지알아본다.