작성자: Stephanie Cuthbertson (Android 제품 관리 이사)
원문은 여기서 확인 가능하며 블로그 리뷰에는 강사룡(Google)님이 참여해주셨습니다.
편집자 주: 전세계의 Android 개발자 커뮤니티는 언제나 Android 플랫폼의 방향을 결정하는 데 있어 강력한 원동력이 되어왔으며, 저희에겐 개발자 한 분 한 분의 목소리가 모두 소중합니다. 저희는 미국에서 최근의 뜨거운 이슈가 된 인종적 정의(racial justice)를 둘러싼 중요한 담론에 사람들이 집중할 수 있도록 하기 위해 베타 출시 이벤트 취소하게 되었습니다. 대신 6월 10일, 여러분 각자가 편한 시간에 살펴보실 수 있게 간단한 영상자료와 웹페이지를 통해 매우 색다른 형태로 Android 11 베타 버전을 공개합니다. 전 세계 수백만 명의 개발자가 Android로 비즈니스를 구축하고 있는 상황에서, 개발자들을 계속 지원하기 위해 베타 버전을 출시했습니다. 이번에 출시된 버전에 대해 여러분의 의견을 들려주시면 정말 감사하겠습니다.
오늘 저희는 Kotlin 코루틴부터 Jetpack Compose 도구 키트의 발전, Android Studio에서 더욱 빨라진 빌드, Play Console에서의 새로운 경험까지, 개발자를 위한 다양한 최신 업데이트뿐 아니라 Android 11용 베타 버전을 공개합니다.
Android 11 베타: 현재 사용 가능
지난 2월부터 많은 개발자들로부터 받은 Android 11 개발자 프리뷰에 관한 의견으로부터 저희는 많은 도움을 얻어 마침내 지난 6월 10일, 사람, 컨트롤, 개인정보 보호라는 세 가지 주요 테마에 초점을 맞춘 Android 11의 첫 베타 버전을 발표했습니다.
사람: 저희는 사람들이 전화로 대화를 나누는 방식을 새롭게 재해석하고, 인생에서 가장 중요한 사람들을 인식하고 우선할 수 있는 OS를 빌드하여 Android를 보다 인간 중심적이고 표현이 강조되는 OS로 만들고 있습니다.
대화 알림(Conversation notifications)은 음영의 상단에 있는 전용 섹션에 나타나는데, 사람들이 전진하는 모습을 형상화한 디자인 및 대화와 관련된 특정한 동작(예: 말풍선으로 대화 시작, 홈 화면에서 대화 바로가기 만들기, 리마인더 설정)이 포함됩니다.
대화창(Bubbles)은 사용자가 여러 가지 작업을 하면서 동시에 뷰에서 대화를 계속하고 접근성을 유지하도록 합니다. 메시징 및 채팅 앱은 알림에 Bubbles API를 사용하여 Android 11에서 이 API를 활성화해야 합니다.
통합 키보드 추천 기능(Consolidated keyboard suggestions) 덕분에 Autofill 앱과 입력기(IME, Input Method Editor)가 IME의 추천 스트립(strip)에서 직접 상황별 엔터티(entities)와 문자열을 안전하게 제공할 수 있으며, 사용자가 이들을 가장 편리하게 사용할 수 있는 곳이 바로 추천 스트립입니다.
음성 액세스(Voice Access)는 음성만으로도 휴대폰을 완벽히 제어하려는 사람을 위한 기능으로, 이제는 화면 콘텐츠와 컨텍스트를 이해하고 접근성 명령을 위한 라벨과 액세스 지점을 생성하는 온디바이스 시각피질(on-device visual cortex)을 포함합니다.
컨트롤: 이제 Android의 최신 릴리스를 사용해 모든 스마트 기기에 빠르게 접근하여 한 공간에서 제어할 수 있습니다.
기기 컨트롤 덕분에 사용자들은 어느 때보다도 빠르고 쉽게 연결된 기기에 접근하고 제어할 수 있습니다. 이제 전원 버튼을 길게 누르기만 하면 즉시 한 곳에서 여러 개의 기기 컨트롤들을 불러올 수 있습니다. 앱은 새로운 API를 사용해 컨트롤에서 표시되도록 할 수 있습니다. 더 자세한 내용은 여기서 확인하세요.
미디어 컨트롤을 사용하면 오디오 또는 비디오 콘텐츠용 출력 기기(헤드폰, 스피커, TV 등 어떠한 출력 기기든 무관)를 빠르고 편리하게 전환할 수 있습니다. 지금 바로 시스템 설정의 개발자 옵션에서 활성화 할 수 있으며, 향후 출시될 베타 버전에서는 기본으로 설정됩니다. 더 자세한 내용은 여기서 확인하세요.
개인정보 보호: Android 11에서는 사용자가 민감한 권한에 대해 훨씬 더 많은 제어 권한을 갖도록 하고 더욱 빠른 업데이트를 통해 기기를 더 안전하게 보호할 수 있도록 할 것입니다.
일회용 권한을 통해 사용자는 마이크, 카메라 또는 위치 정보에 앱이 접근할 때 단 한 번만 접근하도록 허용할 수 있습니다. 차후 앱 사용 시 권한을 다시 요청할 수 있습니다. 더 자세한 내용은 여기서 확인하세요.
권한 자동 재설정: 사용자가 장기간 앱을 사용하지 않은 경우, Android 11은 앱과 관련된 모든 런타임 권한을 '자동 재설정'하고 사용자에게 알려줍니다. 차후 앱 사용 시 권한을 다시 요청할 수 있습니다. 더 자세한 내용은 여기서 확인하세요.
백그라운드 위치: 지난 2월 저희는 정보의 오용 방지를 위해, 개발자들이 앱에서 백그라운드 위치에 액세스하려면 승인을 받아야 할 것이라고 발표한 바 있습니다. 개발자들이 적절한 변경 작업을 할 수 있도록 시간 여유를 더 드리고 있으며, 2021년까지는 기존 앱에 대해 이 정책을 적용하지 않을 것입니다. 더 자세한 내용은 여기서 확인하세요.
Google Play 시스템 업데이트는 작년에 출시되었으며, 사용자는 이 기능 덕분에 Android 생태계에 있는 기기의 핵심 OS 구성 요소를 신속히 업데이트할 수 있습니다. 저희는 Android 11에서 업데이트 가능한 모듈의 수를 두 배 이상 늘렸으며, 해당되는 12개의 새 모듈은 사용자와 개발자를 위한 개인정보 보호, 보안 및 일관성 향상에 도움을 줄 것입니다.
개발자 친화성: 저희는 개발자가 새 릴리스를 수월하게 활용할 수 있기를 바랍니다. 그래서 호환성 테스트를 더 쉽게 수행할 수 있도록 다음과 같이 조치했습니다.
또한 Android 11에는 무선 ADB 디버깅, 큰 APK를 더 빠르게 설치하기 위한 ADB 증분 업데이트, (런타임 대신 빌드 시간에 문제를 포착하기 위해) 플랫폼 API의 더 많은 Null 허용 여부 주석 등 여러 가지 다른 개발자 생산성 개선 사항도 포함되어 있습니다.
오늘 출시된 Android 11을 위한 첫 번째 베타 버전에는 최종 SDK와 NDK API, 그리고 앱에서 시험적으로 사용할 수 있는 새로운 기능이 포함되어 있습니다. Pixel 2, 3, 3a 또는 4 기기를 가지고 계시다면, 여기서 등록해 무선으로 Android 11 베타 업데이트를 받으시기 바랍니다. 늘 그렇듯이, Pixel 및 Android Emulator용 다운로드 파일도 제공됩니다. Android 11의 모든 개발자 기능에 대해 알아보려면 Android 11 개발자 사이트를 방문하세요.
최신(Modern) Android 개발
과거 수년에 걸쳐, Android 팀은 개발자가 생산성을 더 높일 수 있도록 모바일 개발자 환경을 개선하는 데 전력을 기울였습니다. Android Studio IDE, 훌륭한 언어(Kotlin!), 일반적인 작업을 쉽게 수행할 수 있게 해주는 Jetpack 라이브러리, 앱 배포 개선을 위한 Android App Bundle이 여기에 포함됩니다. 현재 저희는 이것을 최신 Android 개발이라 부르며, 가능한 한 효율적이고 생산적으로 개발할 수 있도록 최고의 Android 기술을 제공합니다.
Android Studio
오늘 저희는 개발자들이 절실히 필요하다고 요구한 여러 가지 사항에 주력하여 Android Studio 4.1 Beta 및 4.2 Canary의 새로운 기능을 선보였습니다.
디버깅이 더 간단해졌습니다. Android 11 기기에서는 ADB를 통해 무선 디버깅이 이루어집니다. Database Inspector 및 Dependency Injection(Dagger) 도구도 추가했습니다.
기기 테스트가 개선되었습니다. 이제는 Android Emulator가 IDE 내부에 직접 호스트되어 동작됩니다. 그래서 여러 기기의 결과를 동시에 볼 수 있도록 테스트가 나란히 실행됩니다. 그리고 기기를 더 쉽게 다룰 수 있도록 기기 관리자를 개선했습니다.
머신러닝이 더 쉬워졌습니다. 이제는 IDE에서 직접 ML Kit 및 TensorFlow Lite용 모델을 가져올 수 있습니다.
빌드와 배포가 더 빨라졌습니다. Kotlin 심볼 프로세싱, Gradle의 작업 그래프 캐싱, Android 11에서 모든 기기에 대해 더욱 빨라진 앱 배포 덕분입니다. 새로운 빌드 분석기를 사용해 빌드에서 병목 현상이 발생하는 위치를 쉽게 진단할 수 있습니다.
게임 도구가 더욱 강력해졌습니다. 성능 프로파일러 UI를 업데이트하고 System Trace 도구를 정비했으며, 기본 메모리 프로파일링을 위한 지원을 제공합니다.
최신 버전 사용해보기: Android Studio 4.1 Beta 및 Android Studio 4.2 Canary.
Kotlin과 Jetpack
언어와 라이브러리는 Kotlin의 현대적이고 간결한 언어와 개발자 생산성 향상에 온전히 집중한 Jetpack의 견고하고 강력한 라이브러리와 함께, 최신 Android 개발을 위한 투자에서 큰 비중을 차지합니다.
Kotlin 채택률이 증가하고(현재 Google Play의 1000대 앱 중 70% 이상에서 Kotlin을 사용 중임), 수많은 개발자가 Kotlin을 사용하게 되면서, 저희는 Kotlin을 사용해 개발자의 경험을 새로운 방식으로 단순화할 수 있게 되었습니다. Kotlin 코루틴(Kotlin coroutines)은 동시 호출을 훨씬 더 쉽게 작성하고 이해할 수 있게 해주는 Kotlin의 언어 기능 중 하나입니다. 저희는 코루틴을 공식적으로 권장하며, 개발자가 훨씬 더 나은 코드를 작성할 수 있도록 가장 많이 사용되는 Jetpack 라이브러리 3가지(Lifecycle, WorkManager, Room)에 코루틴 지원 기능을 내장했습니다.
또한 Jetbrains의 뛰어난 개발팀 덕분에 새 릴리스가 나올 때마다 Kotlin 자체도 더 진보되고 있습니다. Kotlin 1.4는 더 빠른 코드 완성, 기본적으로 사용되는 더 강력한 타입 추론, 함수 인터페이스뿐 아니라, 명명된 인수와 포지셔닝 인수의 혼합과 같이, 개발자의 삶의 질 개선 사항도 제공합니다.
또한 여러 Android 릴리스에 걸쳐 적용된 라이브러리 모음으로, 공통된 모바일 개발 패턴을 빠르고 쉽게 만들기 위해 설계된 Jetpack을 계속 개선하고 있습니다. 많은 개발자들이 오랫동안 Dagger를 애용해왔으므로, 저희는 Dagger 팀과 협력하여 Dagger 외에 개발자 친화적 래퍼인 Hilt를 Android용으로 권장되는 Dependency Injection 솔루션으로 제공했습니다. 알파 버전의 Hilt를 사용해볼 수 있도록 준비해두었으니 참고하시기 바랍니다. 또한 앱 개발자와 라이브러리 개발자가 모두 라이브러리 초기화를 최적화하여 앱 시작 시간을 단축하도록 도와드리기 위해, 두 번째로 새로운 라이브러리인 App Startup도 추가했습니다. 코루틴을 위한 완벽한 지원과 함께 처음으로 Kotlin으로 다시 작성된 Paging 3에 대한 주요 업데이트를 포함해, 기존 라이브러리에 대한 더 많은 업데이트도 있습니다!
새로운 UI 도구 키트, Compose에 대한 최신 정보
뛰어난 생산성을 발휘하기 위해 필요한 것이 한 가지 더 있는데, 그건 바로 플랫폼 API에 대한 기본 액세스로 Android에서 훌륭하고 보기에도 좋은 UI를 빠르고 쉽게 빌드하기 위한 강력한 UI 도구 키트입니다. 그게 바로 저희가 코딩 필요성을 줄여주는 강력한 도구와 직관적인 Kotlin API를 사용해 앱을 구현해주는 새로운 첨단 UI 도구 키트인 Jetpack Compose를 빌드하는 이유입니다.
오늘 저희는 개발자들로부터 요구받아온 기능들을 담은 Jetpack Compose Developer Preview 2를 출시합니다.
저희는 또한 여러분이 Compose를 사용해 앱을 빌드할 수 있도록 Jetbrains Kotlin 팀과 긴밀한 제휴 관계를 맺고 Android Studio 4.2에 여러 가지 새로운 기능을 추가했습니다.
Compose는 아직 프로덕션 환경에서 사용할 준비는 되어 있지 않습니다. 다만, 성능 최적화는 마친 상태이므로 한번 사용해보시고 여러분의 의견을 들려주시면 감사하겠습니다. 올해 여름에 알파 버전, 내년에 1.0을 출시할 계획입니다.
완전히 새로워진 Google Play Console
Google Play는 개발자의 비즈니스 성장 지원에 초점을 맞춥니다. 이를 위해 저희는 개발자가 저희 플랫폼에서 최고의 성공을 거둘 수 있도록 Google Play Console을 재설계했습니다. 더 직관적이고 더 쉽게 사용할 수 있도록 돕는 것 외에도, 다음과 같은 기능을 추가했습니다.
Google Play를 기반으로 성장하는 데 도움이 되는 기능을 찾고 발견하고 이해하도록 지원
정책 변경 사항, 릴리스 상태, 사용자 피드백에 관한 새로운 지침 찾기
새로워진 획득 보고서(acquisition reports)로 성능 통계를 더 정확히 이해함
모든 팀원이 새로운 사용자 관리 옵션과 함께 Play Console 기능을 사용할 수 있도록 지원
이 글에서 새로운 Google Play Console에 대해 자세히 알아보거나 지금 바로 play.google.com/console에서 베타 테스트에 참여해보세요. 개발자 여러분의 의견은 Google Play Console의 지속적인 개선 노력을 펼치는 데 큰 도움이 되므로, 여러분의 생각을 알려주시면 감사하겠습니다.
맺음말
아직 더 여러분께 선보일 이벤트가 남아 있습니다!
저희는 개발자 여러분이 문의해주신신 다양한 주제(예: UI, Jetpack, 머신러닝 등)에 관해 매주 새로운 개발자 콘텐츠로 대화를 계속 이어나가는 11 Weeks of Android를 진행합니다. 자세히 알아보려면 여기서 일정을 확인해보세요.