App Bundle, 머티리얼 디자인 구성 요소, 새로운 Target API 요구 사항, 새로운 Fragment 및 Flow 문서, 여러 가지 문서와 영상
Android 개발 분야의 새로운 소식을 안내해드리는 Now in Android 시리즈에 오신 여러분을 환영합니다.
MAD Skills: App Bundle 및 머티리얼 디자인 구성 요소
최신 Android 개발에 대한 새로운 기술 콘텐츠와 함께 MAD Skills 시리즈가 계속 이어지고 있습니다.
App Bundle 시리즈는 Google Developer 전문가 Angelica Oliveira가 전하는 유용한 조언 영상과 함께, 또 제가 여러분을 대신해 질문을 하고 Ben Weiss, Wojtek Kaliciński, Iurii Makhno이 답변한 라이브 및 녹화 Q&A로 마무리 되었습니다. 링크로 연결된 모든 App Bundle 에피소드(동영상 및 문서 형식)는 아래 블로그 게시물에서 찾아볼 수 있답니다.
MAD Skills - Android App Bundle 전문가 되기
지난주 MAD Skills에서는 머티리얼 디자인 지침을 사용하여 애플리케이션 개발을 간소화하는 라이브러리인 머티리얼 디자인 구성 요소에 관한 새로운 시리즈를 계속 이어나갔습니다.
먼저, Android 개발자가 머티리얼 디자인 구성 요소를 사용하도록 권장하는 이유를 Nick Butcher가 설명해드렸습니다. 이 영상에서는 테마 설정 지원, 내장형 전환(built-in transitions), 기본 머티리얼 스타일의 구성 요소를 포함해 MDC가 제공하는 다양한 이점을 전반적으로 소개합니다.
이 콘텐츠는 앞서 발표한 문서에서도 다뤄졌습니다.
머티리얼 디자인 구성 요소를 권장합니다
다음으로는 Nick Rout이 MaterialThemeBuilder 샘플 프로젝트를 설명하면서 어떻게 머티리얼 테마를 사용하고 사용자 지정하는지에 대해 영상으로 알려드렸습니다.
이 영상 외에도 색상, 타이포그래피, 모양 등 MDC 테마 설정에 관한 최신 문서를 확인할 수 있습니다.
이번 주에 Chris Banes는 Android 10의 Force Dark 기능 및 MDC의 DayNight 테마를 사용해 MDC로 어두운 테마를 만드는 내용에 관한 세 번째 영상을 게시했습니다.
Chris는 최근에 블로그 게시물로도 이 내용을 다뤘습니다.
MDC를 사용한 어두운 테마
이번 주에는 더 많은 MDC 콘텐츠가 준비되어 있고 다음 목요일에는 또 다른 Q&A 세션이 실시간으로 진행될 예정입니다. 자세한 내용은 MDC 재생목록을 통해 계속 확인해주세요.
YouTube의 MAD Skills 영상 목록, Medium 게시물등 모든 정보가 취합된 이 웹페이지에서 앞으로도 계속 게재될 MAD 콘텐츠를 꼭 확인해 보세요.
App Bundle 및 Target API 요구 사항
2021년 하반기에는 Target API(새로운 앱과 업데이트된 앱)와 App Bundle이 모두 필수 사항이 될 예정입니다. Hoi Lam이 게시한 블로그에 관련된 세부 정보가 모두 담겨 있는데요, 간략히 정리하면 다음과 같습니다.
2021년 8월:
- 새로운 앱은 API 레벨 30을 대상으로 지정해야 합니다.
- 새로운 앱은 Play Store에 게시하려면 App Bundle을 사용해야 합니다.
- 150MB 이상의 애셋이나 기능이 있는 새로운 앱은 Play Asset Delivery 및/또는 Play Feature Delivery를 통해 제공해야 합니다. 새로운 앱에 대해서는 더 이상 확장 파일(OBB)이 지원되지 않습니다.
2021년 11월:
- 앱 업데이트는 API 레벨 30을 대상으로 지정해야 합니다.
2021년 새로운 Android App Bundle과 Target API 레벨 요구 사항
설명서
분할된 문서(Fragmented Docs)
Fragment는 UI 개발자에게 중요한 아키텍처 요소를 제공하므로, 앱 UI의 작은 청크를 독립적인 방식으로 관리할 수 있습니다. Navigation을 Fragment와 함께 사용하든, Fragment를 단독으로 사용하든, 앱에서 가장 잘 사용할 수 있는 방법을 알아두는 것이 좋겠죠. 꼼꼼히 작성된 최신 버전의 설명서가 도구 및 API 사용법을 이해하는 데 얼마나 중요한지 잘 알고 있습니다. 사용 중단된 API는 피해야 할 점을 알려주는 반면 올바른 방향을 알려주고 모범 사례를 설명해줍니다..
때문에 우리 팀은 Lifecycle, 상태, 테스트 등을 비롯해 Fragment의 다양한 측면에 관해 더욱 분명한 최신의 지침을 제공하고자 Fragment 설명서를 대폭 재작성 했습니다. 여기서 최신 문서(하단에 링크로 연결된 하위 섹션 포함)를 확인하세요.
Fragment | Android 개발자
AndroidX에서 Fragment를 수정하고 향상하는 작업을 담당하는는 Ian Lake가 자신의 트위터 피드에 문서 변경 사항에 설명을 달았습니다.
Kotlin Flow
Flow 사용의 기초부터 새로운 StateFlow 및 SharedFlow API 테스트까지 모든 정보가 포함된 Kotlin Flow에 관한 완전히 새로운 문서 모음집을 준비했습니다. 아래에서 언급하겠지만, Flow 사용에 관한 영상도 꼭 확인해 보세요.
Kotlin Flow | Android 개발자
관련 문서와 동영상
시작 성능 테스트(Testing Startup Performance)
필자는 지난주에 애플리케이션 시작 성능의 몇 가지 부분을 자동화하는 방법에 관한 글을 게시했습니다. 시작 성능 전반을 두루 살펴보았고, 많은 연속 실행에 대한 시작 기간을 도출할 수 있는 합리적이면서도 자동화된 방법을 찾고자 했습니다. 시작 성능 테스트에 비슷한 관심을 가진 독자를 위해 필자의 접근 방식을 공개한 것입니다.
앱 시작 성능 테스트
Dagger -> Hilt
Manuel Vivo는 'Dagger에서 Hilt로 마이그레이션하기'라는 제목의 글에서 "과연 그럴 만한 가치가 있는 일인가?"라는 질문을 던집니다(스포일러가 되겠지만 Manuel의 답은 이러합니다. "아마도 그럴지도...하지만 각자 처한 상황에 따라 다르답니다.")
Manuel은 그 글에서 API 테스트, 일관성, AndroidX Extensions과의 통합을 비롯해 마이그레이션을 고려해야 하는 중요한 이유를 설명합니다.
Dagger에서 Hilt로 마이그레이션하기 — 과연 그럴 만한 가치가 있는 일인가?
Hilt 시작하기
Hilt에 관해 말하자면, Filip Stanis는 종속성 주입이나 Dagger에 대한 경험이 전무한 개발자라도 Hilt를 쉽게 시작할 수 있도록 돕기 위해 이 글을 게시했습니다. 그러니 완전 초보자라도 걱정하지 마시고 한번 읽어보세요.
제목만 보면 Kotlin 개발자를 위한 글처럼 느껴지지만, 실제로는 그 글 안에 나와 있는 코드 스니펫에 관한 내용이 핵심입니다. 이 글에서 소개하는 일반적인 접근 방식과 기법은 Java 프로그래밍 언어를 사용하는 개발자에게도 해당합니다.
Kotlin을 사용하는 Hilt에 대한 실용적 가이드
Flow와의 동행
Manuel Vivo는 Kotlin Vocabulary 시리즈에서 Kotlin Flow를 사용해 데이터 스트림을 내보내는 방법을 설명하는 새 영상을 게시했습니다. 이 영상은 그가 앞서 게시한 코루틴의 ABC 영상을 기초로 제작되었으므로 그 영상부터 먼저 보시면 이해가 더 쉬울 것입니다.
Kotlin Extensions: View Binding 대 Synthetics
David Winer는 View Binding뿐 아니라 Kotlin Synthetics도 다루는 블로그를 게시했는데, 이 둘은 모두 코드에서 귀찮은 findViewById() 호출을 제거하기 위한 메커니즘입니다. 이 글에서는 Kotlin 플러그인의 향후 버전에서는 Synthetics를 지원 중단할 것이라고 강조합니다(자세한 이유도 설명되어 있음). 또한 계속 권장 및 지원할 @Parcelize Extensions에 대한 설명도 나와있습니다.
Kotlin Android Extensions의 미래
백그라운드 위치
최근의 Android 릴리스에서는 사용자 데이터 보호와 데이터 액세스 방식에 대해 사용자에게 더 많은 제어 권한과 투명성을 제공하는 부분에 있어 많은 변화가 있었습니다. 중점 영역 중 하나는 위치와 관련된 것으로, 이는 사용자들이 애플리케이션이 위치 데이터에 액세스하는 것을 원하지 않을 수 있고, 매우 신중하게 제어하고 싶어할 수도 있기 때문이죠.
이에 따라 Google Play는 곧 백그라운드에서 작동하면서 위치 데이터에 액세스해야 하는 앱이 (Play Store로부터) 해당 액세스 권한을 필수적으로 요청하도록 정책을 만들 예정입니다. 이 글에서는 액세스 권한 요청 프로세스를 자세히 설명합니다.
앱에서 백그라운드 위치 액세스 승인을 받기 위한 팁
자, 이제…
아쉽지만 오늘은 여기까지 하죠. MAD를 통해 App Bundle과 머티리얼 디자인 구성 요소에 대해 알아보세요! App Bundle과 Target API에 대한 내년의 요구 사항을 확인해 보세요! Fragment와 Kotlin Flow에 관한 최신 문서를 읽어보세요! 또 Medium의 Android 개발자 게시판, Android 개발자 블로그, YouTube의 Android 개발자 채널에서 최신 개발자 콘텐츠를 확인해 보세요! 곧 다시 돌아와 Android 개발자 커뮤니티의 다음 업데이트 정보를 확인해주세요.