이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
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 간의 차이점__안드로이드를 넘어서____샘플 프로젝트 설정__결론
|
Thomas Kunneth
|
◈ 이 책에서 다루는 내용 ◈◆ 젯팩 컴포즈의 핵심 개념 이해◆ 사용자 친화적이고 안정적인 UI 요소 개발◆ 젯팩 컴포즈로 완전한 앱 만들기◆ 기존 안드로이드 애플리케이션에 젯팩 컴포즈 추가◆ 젯팩 컴포즈를 사용하는 앱 테스트 및 디버깅◆ 다른 플랫폼에서의 젯팩 컴포즈 활용 ◈ 이 책의 대상 독자 ◈새로운 젯팩 컴포즈 프레임워크의 핵심 개념과 네이티브 개발의 장점을 이해하고자 하는 모든 모바일 개발자를 대상으로 한다. 코틀린 프로그래밍 언어에 대한 지식을 포함해 안드로이드 앱 개발에 대한 확실한 이해가 있다면 더욱 유익할 것이다. 책에서 다루는 개념을 효과적으로 이해하려면 기본적인 프로그래밍 지식이 필요하다.◈ 이 책의 구성 ◈1장, ‘컴포즈 앱 첫 빌드’에서는 여러분의 첫 번째 컴포즈 앱을 빌드하는 방법을 보여준다. 또한 컴포저블 함수와 미리 보기 같은 중요한 핵심 개념도 소개한다. 2장, ‘선언적 패러다임 이해’에서는 선언적 방식을 사용하기 전의 방식을 설명하고 오래된 접근 방식에서 오는 문제는 무엇인지 설명한다. 3장, ‘컴포즈 핵심 원칙 자세히 알아보기’에서는 젯팩 컴포즈가 의존하는 핵심 원칙을 소개한다. 이 내용은 잘 동작하는 컴포즈 앱을 작성하는 데 꼭 필요하다.4장, ‘UI 요소 배치’에서는 제공되는 레이아웃 일부를 소개한다. 또한 커스텀 레이아웃을 구현하는 방법도 살펴본다. 5장, ‘컴포저블 함수 상태 관리’에서는 젯팩 컴포즈가 상태를 어떻게 관리하는지 살펴본다. 상태는 시간이 흐름에 따라 변할 수 있는 앱 데이터이며 컴포저블 함수는 상태를 출력하거나 변경한다. 6장, ‘조립’에서는 앞에서 배운 개념을 복습하고 앱에 포함해본다. 실제 코드로 개념을 확인하면 개념을 이해하는 데 도움이 되며 프로그램에서 이를 재사용하기가 더 쉬워진다.7장, ‘팁, 트릭, 모범 사례’에서는 컴포즈를 사용할 때의 모범 사례를 알아본다. 여기에는 상태 유지 및 검색과 부수 효과로 불리는 동작의 사용법과 같은 주제가 포함된다.8장, ‘애니메이션 적용’에서는 관련된 모든 API를 소개한다. 애니메이션과 트랜지션은 앱을 멋지게 만들어준다. 9장, ‘상호 운용 API 자세히 알아보기’에서는 앱 안에서 선언적 접근 방식과 명령적 접근 방식을 결합하는 전략을 살펴본다. 또한 기존 UI를 젯팩 컴포즈로 손쉽게 업데이트할 수 있는 마이그레이션 전략을 제공한다.10장, ‘컴포즈 앱 테스트와 디버깅’에서는 컴포즈 앱을 위한 기본적인 테스트 시나리오를 소개한다. 컴포즈 앱의 사용자 기반 인터페이스 테스트는 뷰 기반의 UI 테스트와는 다르게 동작한다. 11장, ‘결론과 다음 단계’에서는 이후에 시도할 수 있는 것들을 안내하며 책을 마무리한다. 또한 젯팩 컴포즈의 미래를 예측해보고 인접해 있는 플랫폼들을 살펴보면서 어떠한 이점을 얻을 수 있을지 알아본다.◈ 지은이의 말 ◈젯팩 컴포즈(Jetpack Compose)는 빠르고 아름다우며 신뢰할 수 있는 네이티브 사용자 인터페이스를 개발하기 위한 안드로이드의 새로운 프레임워크다. 선언적 접근 방식을 사용해 안드로이드 UI 개발을 단순화했을 뿐만 아니라 UI 개발 속도도 크게 개선시켰다. 젯팩 컴포즈를 실습하거나 안드로이드 애플리케이션을 개발하는 최신 방식을 적용하고자 하는 개발자에게 도움이 될 것이다. 이 책은 안드로이드 개발에 대한 기본서가 아니며 안드로이드 앱을 어떻게 개발하는지는 여러분의 지식에 달렸다.여러분은 실습 가능한 튜토리얼과 프로젝트가 완벽히 준비돼 있는 따라 하기 쉬운 가이드를 통해 상태 호이스팅, 단방향 데이터 흐름, 상속보다 컴포지션을 활용하는 방법 같은 최신 젯팩 컴포지션의 핵심 개념을 익힐 수 있다. 또한 컴포즈를 사용해 자신만의 안드로이드 앱을 개발하는 데도 도움이 될 것이다. 테스트와 애니메이션, 기존 안드로이드 UI 툴킷과의 상호 운용 같은 개념도 다룬다.책을 끝내고 나면 젯팩 컴포즈를 사용해 자신만의 안드로이드 앱을 작성할 수 있을 것이다.◈ 옮긴이의 말 ◈최근 모바일 프로그래밍의 가장 뜨거운 주제를 고르라면 단연 선언적 UI라고 할 수 있다. 구글은 플러터를 통해 선언적 UI를 선보이는 데 그치지 않고 2021년 안드로이드 네이티브 UI 개발이 가능한 선언적 UI 프레임워크인 젯팩 컴포즈(Jetpack Compose)를 출시했다. 젯팩 컴포즈는 출시 이후 빠르게 성장하고 있으며 안드로이드뿐만 아니라 데스크탑, 웹은 물론 iOS 앱 개발에도 젯팩 컴포즈를 사용하는 것을 목표로 하고 있다. 이를 통해 안드로이드 개발자는 모바일 애플리케이션 개발뿐만 아니라 다른 플랫폼에서도 동일한 환경을 사용해 GUI 애플리케이션을 개발할 수 있게 될 것이다.이 책은 젯팩 컴포즈를 처음 접하거나 빠르게 익히고자 하는 개발자를 위한 책이다. 저자는 프레임워크가 지원하는 여러 UI 컴포넌트를 소개하는 데서 그치지 않고 젯팩 컴포즈의 동작 원리는 물론, 실무에서 컴포즈를 어떻게 적용할 수 있는지, 기존 View 기반의 애플리케이션에 컴포즈를 어떻게 적용할 수 있는지도 설명하고 있다. 이를 통해 단순히 책을 읽는 데 그치지 않고 바로 실무에서 적용할 수 있게 도와준다.저자는 빠르게 발전하는 젯팩 컴포즈 버전에 맞춰 예제를 꾸준히 업데이트하면서 독자에게 최신 정보를 주고자 노력하고 있다. 원서의 예제는 컴포즈 1.0.5 버전을 기준으로 작성됐으나 번역 과정에서 저자는 1.2.1 버전까지 업데이트했다. 이 한국어판은 저자가 작성한 가장 최신 버전인 1.2.1을 적용했고, 사용하는 라이브러리나 안드로이드 스튜디오 버전 역시 최신 버전을 사용해 독자로 하여금 최신 환경에서도 원활하게 예제를 따라 할 수 있도록 했다. 최신 버전에서 예제를 작성하다 막히는 부분이 있다면 책에 있는 깃허브 링크를 확인해 최신 버전의 코드를 참고할 것을 추천한다. 유튜브 채널의 ‘Code In Action’에서 예제 코드를 설명하는 영상도 있으니 함께 참고해보면 도움이 될 것이다.
|