프로젝트 소개

Now in Android는 Google에서 개발한 완전한 기능의 Android 앱으로, 전적으로 Kotlin과 Jetpack Compose로 빌드되었습니다. 아키텍처, 모듈화, 테스트, 성능을 포함한 Android 개발 권장사항을 위한 참조 구현 역할을 합니다. 이 앱은 Now in Android 시리즈의 콘텐츠를 표시하며, 사용자가 최근 동영상, 아티클, 기타 콘텐츠 링크를 탐색할 수 있게 합니다. 사용자는 관심 주제를 팔로우하고 이에 맞는 새 콘텐츠가 게시될 때 알림을 받을 수 있습니다. 현재 이 앱은 개발 중이며 Play 스토어에서 prodRelease 변형을 사용할 수 있습니다. Gradle 빌드 시스템을 사용하며 Android Studio로 직접 가져올 수 있습니다. demoDebug 및 demoRelease 빌드 변형은 로컬에서 빌드하고 실행할 수 있지만, prod 변형은 공개되지 않은 백엔드 서버가 필요합니다. 아키텍처: 이 앱은 공식 Android 아키텍처 가이드를 따르며 자세한 학습 과정을 제공합니다. 완전히 모듈화되어 있으며, 전략을 설명하는 모듈화 학습 과정이 있습니다. 빌드: 이 앱에는 debug 및 release 변형과 함께 시작 성능 테스트와 기준 프로필 생성을 위한 benchmark 변형이 포함됩니다. 콘텐츠 소스를 제어하기 위해 제품 플레이버(demo, prod)를 사용합니다. demo 플레이버는 정적 로컬 데이터를 사용하고 prod 플레이버는 백엔드에 네트워크 호출을 수행합니다. 테스트: 이 앱은 의존성 주입에 Hilt를 사용하며 테스트에서 목킹 라이브러리를 피하고, 프로덕션 구현과 동일한 인터페이스를 구현하는 테스트 더블을 사용합니다. 로컬 테스트, 계측 테스트, Roborazzi를 사용한 스크린샷 테스트를 포함합니다. 스크린샷 테스트는 다양한 화면 크기에서 UI 렌더링을 검증합니다. UI: 이 앱은 Material 3 가이드라인을 사용해 설계되었고 전적으로 Jetpack Compose로 빌드되었습니다. 동적 색상 테마(사용자 배경화면 기반)와 기본 테마를 지원하며, 둘 다 다크 모드를 제공합니다. 다양한 화면 크기를 지원하기 위해 적응형 레이아웃을 사용합니다. 성능: 이 앱에는 시작 성능과 기준 프로필 생성을 위한 Macrobenchmark 테스트가 포함됩니다. 또한 성능 분석을 위한 Compose 컴파일러 메트릭을 제공합니다. 라이선스: Apache License 2.0에 따라 배포됩니다.