오늘날 Android가 지원되는 수십억 개의 기기 중 휴대폰은 일부에 불과합니다. 태블릿, 폴더블, 심지어 노트북과 데스크톱도 Android 앱을 지원하므로 이제는 여러분의 앱이 다양한 폼 팩터에서 구동하는 것을 확인할 수 있습니다.
이 글에서는 앱에 대화면을 지원하는 방법과 그것이 중요한 이유를 알아보겠습니다. 화면 방향 변경, 화면비, 적응형 레이아웃을 정확히 설정하는 게 어려울 수 있지만, 대화면과 다양한 폼 팩터를 통해 이용자에게 선사할 멋지고 새로운 모습의 앱을 떠올려 보시기 바랍니다.
Google Play는 대화면 맞춤형 앱을 주력으로, 이용자가 기기를 최대한 활용해 고품질 앱과 게임을 쉽게 탐색하고 이용할 수 있도록 주요 변경사항을 도입하고자 합니다. 또한, Android 12L에서는 기기 제조업체가 앱의 선호하는 방향 요청을 재정의할 수 있습니다. 해당 내용과 기타 변경사항은 여기에서 확인하실 수 있습니다.
모든 화면을 지원하는 일은 복잡하고 어려운 일이므로, 이를 실행하기 위해서는 맞춤형 전략이 필요합니다. 그래서 저희는 앱에 대화면을 지원하는 기준을 3단계로 세분화했습니다. 가장 기본 단계인 Tier 3(대화면 준비)에서는 앱이 모든 노출 영역에서 전체 화면을 매끄럽게 지원해야 합니다. 다음 Tier 2(대화면 최적화)에서는 대화면에 맞게 앱을 최적화해야 합니다. 즉 앱이 최적화된 레이아웃을 갖추고 외부 입력 지원 수준을 강화해야 합니다. 마지막으로, 최고 단계인 Tier 1(대화면 차별화)에서는 앱이 완전히 차별화된 대화면 경험을 제공해야 합니다.
이 글에서는 Tier 3를 기준으로 앱을 대화면에 맞추는 방법을 설명해 드리고, 대화면 최적화가 중요한 이유를 알아보겠습니다.
Tier 3는 앱을 대화면 기기에 맞추기 위한 가장 기본 단계입니다. 이 가이드라인을 통해 앱 요구사항을 충족하고 이용자가 중요한 앱 흐름을 따라올 수 있도록 준비하시기 바랍니다.
세로 모드의 휴대폰과 가로 모드의 대화면
구성 변경 처리는 항상 Android 앱 개발의 주춧돌이었지만 대화면 기기에서는 특히 더 중요합니다. 앞서 언급했듯이 이용자는 항상 앱의 방향을 재정의할 수 있지만 개발자가 관심을 가져야 할 구성 변경은 이뿐만이 아닙니다. 대화면 환경에서는 물리적 키보드 연결과 창 크기 조정 등 더 많은 예외가 발생합니다. 새로운 폼 팩터가 계속 나오는 상황에서 이용자가 꼭 스마트폰을 손에 쥐는 것과 동일한 방법으로 다양한 폼 팩터 기기를 잡으라는 법은 없습니다. 가장 먼저 고려해야 할 점은 앱이 비정상 종료되지 않도록 하는 것입니다. 즉, 스크롤 위치와 텍스트 필드에 입력된 텍스트를 포함하여 앱은 구성 변경 중에 원래 상태를 유지해야 합니다. 미디어 재생 역시 구성 변경이 시작될 때 중단되었던 지점부터 계속 재생되어야 합니다.
이를 달성하기 위한 방법에는 여러 가지가 있습니다. 상태를 유지하고 UI로 푸시해 주는 ViewModel 클래스가 존재하지만, 이 작업은 다른 API로도 해결할 수 있습니다.
여러 폼 팩터, 특히 대화면 기기에서는 이용자가 한 번에 하나의 앱만 실행하지 않습니다. 앞으로는 대화면에서 여러 앱을 동시에 실행하는 것이 새로운 표준이 될 테니, 미리 준비하시기 바랍니다.
멀티 윈도우 모드를 지원하기 위해서는 앱의 라이프사이클을 주의깊게 처리해야하며, 예기치 않은 리소스 손실 문제를 다뤄야 할 수도 있어 까다롭지만, 이 또한 대화면으로 향하는 여정의 중요한 단계입니다.
멀티 윈도우 지원 문서를 확인하여 멀티 윈도우와 다중 재개 문제를 순조롭게 해결하시기 바랍니다.
접거나 펼친 기기의 카메라 방향
카메라 기능은 이 여정에서 매우 중요한 부분이자, 가장 어려운 문제 중 하나입니다. 이용자는 가능한 모든 방향과 창 크기, 심지어 폴더블 상태에서도 카메라를 사용합니다. 여러분은 테이블 모드와 같은 고유 기능이나, 누구도 떠올린 적 없는 다른 요소를 통해 이용자에게 색다른 경험을 제공하실 수 있습니다.
이용자에게 가장 중요한 것은 카메라에서 미리보기를 바르게 표시하고 올바른 방향과 화면비로 미디어를 재생하는 능력입니다. 이와 관련해 저희의 도움을 받으실 수 있습니다. 카메라 앱에서 크기 조절이 가능한 노출 영역을 지원하는 데 도움이 되는 Codelab을 새로 출시했으며, 하위 수준 API에 액세스할 필요가 없을 경우 사용 가능한 CameraX도 있습니다. 시작하기 전 ExoPlayer를 사용한 미디어 스트리밍에 관한 Codelab과 Media Projection API에 대한 가이드도 확인해 보시기 바랍니다.
키보드, 트랙패드, 스타일러스펜이 있는 Android 태블릿
대화면 폼 팩터로 인해 이용자에게 전례 없이 많은 옵션이 주어지고 있습니다. 예를 들어, 새로 출시되는 많은 태블릿에는 키보드와 트랙패드가 함께 제공됩니다. 이용자가 외부 블루투스 키보드를 사용하기 위해 더 큰 화면을 선택하는 경우도 있는데, 이때 앱을 다시 실행하지 않고도 가상 키보드와 물리적 키보드 사이를 손쉽게 오갈 수 있는 능력이 중요합니다.
마우스 및 키보드 탐색도 마찬가지로 중요합니다. 앞서 언급한 상황에서, 터치 기능이 지원되지 않는 Chromebook과 같은 제품에서는 이용자가 마우스나 키보드를 유일한 입력 소스로 사용해야 할 수도 있습니다.
이러한 모든 가능성과 그 밖의 다양한 내용을 탐색하려면 Android 개발자 웹사이트에서 외부 입력 처리를 확인하시기 바랍니다.
다양한 화면에서 최고의 앱 경험을 선사하는 것은 개발자로서 어려운 과정이지만, 더욱 견고하고 접근하기 쉬운 대화면 폼 팩터용 앱을 만들 기회가 되기도 합니다.Tier 3 체크리스트와 테스트를 확인하여 대화면에 적합한 앱을 만들기 위한 모든 요구사항을 준수하는지 살펴보고, 대화면으로 향하는 여정의 다음 단계를 준비하시기 바랍니다.
이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다.
작성자: Fred Chung (Android Developer Relations)
이번에 Android Developer Preview 5에서 Privacy Sandbox가 출시되었습니다. 이번 출시는 향후 Privacy Sandbox 베타 릴리스의 기반이 된다는 점에서 매우 중요합니다.
그동안 Developer Preview를 테스트하고 문제를 신고하고 의견을 공유해 주신 많은 분께 감사드립니다. 개발자 여러분이 보내주신 의견을 참고해 더 나은 Privacy Sandbox를 디자인할 수 있었습니다. 그 예로 리플렉션 API 사용을 허용하도록 SDK 런타임 디자인을 수정했으며 FLEDGE 서비스, 미디에이션, 앱-웹 측정에 대한 추가 디자인 제안도 공개했습니다.
이번 Preview 5 릴리스의 구체적인 내용을 살펴보겠습니다.
Developer Preview 5는 개인 정보 보호 API와 SDK 런타임 전반에 걸쳐 기능이 추가되었고, 데이터 유효성 검사를 개선했으며, API 서명도 변경했습니다. 자세한 내용은 출시 노트를 참조하세요.
향후 몇 달에 걸쳐 Developer Preview를 사용해 새로운 기능을 혁신하고 실행할 예정입니다. 베타 릴리스 및 앞으로 출시될 릴리스에 대한 자세한 내용을 계속해서 공유드리겠습니다.
이번에 발표된 Developer Preview 릴리스를 통해 Android에서 Privacy Sandbox를 준비할 수 있도록 업계 및 개발자 여러분과 지속적으로 협력하고자 합니다. 이번 릴리스는 여러분이 조기에 기능 테스트를 시작하고 의견을 공유하는 데 필요한 리소스를 제공합니다. 개발을 시작하려면 에뮬레이터 또는 지원되는 Pixel 기기에서 SDK 및 시스템 이미지를 설정하기 위한 가이드를 참조하세요.
작성자: Diana Wong(Android Product Manager), Kseniia Shumelchyk(Developer Relations Engineer) 및 Sara Vickerman(Android Developer Marketing)
이 글의 원문은 여기서 확인하실 수 있으며 블로그 리뷰에는 엄재웅(GDE)님이 참여해주셨습니다.
삼성은 이번 주 갤럭시 언팩 이벤트에서 Android 생태계에 합류할 최신 기기를 출시했습니다. 아직 신제품을 보지 못하신 분들은 최신 폴더블 2종인 갤럭시 Z 폴드4와 Z 플립4, 그리고 Wear OS에서 실행되는 최신 스마트 워치 라인업인 갤럭시 워치5 시리즈를 확인해 보시기 바랍니다. 삼성 공지사항에 관한 자세한 내용은 여기에서 확인하실 수 있습니다.
새 기기에 관한 기대가 큰 가운데, 여러분의 앱이 대형 화면이나 Wear OS에서 사용자에게 멋진 경험을 제공할 수 있도록 투자하기에 지금만큼 적기가 없습니다. 시작하기 전에 알아두어야 할 정보를 정리했습니다.
갤럭시 Z 플립4와 Z 폴드4는 독보적인 폴더블 경험을 제공하는 기기로, Android 기기가 다양한 모양과 크기로 출시될 수 있음을 보여주는 아주 좋은 예입니다. Z 폴드4는 꾸준히 인상적인 성장세를 보여주고 있는 대화면 기기의 최신 기종입니다. 대화면 기기 사용자의 수가 2억 7천만 명에 육박하고 있는 바로 지금이 태블릿, 폴더블, Chrome OS에 맞춰 앱을 최적화하기에 적기입니다.
Google은 작년에 Android 12를 태블릿과 폴더블 기기에 더 최적화하기 위한 노력의 일환으로 Android 12L을 출시했으며, 삼성 갤럭시 Z 폴드4는 시중에서 최초로 12L을 기본 탑재하고 출시되는 기기입니다. Android 12L는 대화면용으로 맞춤 제작한 UI 업데이트, 개선된 멀티태스킹 경험, 호환성 모드 강화 등을 포함하므로 출시 직후부터 더 나은 디자인의 앱을 만나볼 수 있습니다. Google에서는 12L 이후 이러한 모든 대화면 업데이트 외에 더 많은 기능이 추가된 Android 13도 출시했습니다.
관련 문서를 확인하여 폴더블 기기에 적합한 앱 개발을 시작해 보세요. Z 폴드4와 Z 플립4는 다양한 각도로 접어 사용할 수 있습니다. 예를 들어 삼성의 '플렉스 모드'의 경우, 영상 시청부터 사진 촬영에 이르기까지 모든 작업을 핸즈프리로 할 수 있습니다. 기기가 어떤 모양으로 접혀 있든 관계없이 앱의 멋진 디자인을 유지하려면 Jetpack WindowManager 라이브러리를 사용해 앱을 폴드 인식으로 설정하고 폴더블 기기에서 앱을 테스트해 보세요. 마지막으로, 대화면 앱 품질 가이드라인을 참조하면 좋습니다. 이 가이드라인은 확장을 거듭하는 대화면 기기 생태계 전반에서 앱을 최고의 모습으로 선보이는 데 도움이 되는 종합적인 체크리스트로 구성되어 있습니다.
이 작업에 착수했던 개발자들은 이제 그 성과를 확인하고 있습니다. eBay는 앱을 대화면에 맞춰 최적화한 이후 Google Play 앱 평점이 4.7점으로 상승했습니다. Chrome의 멀티태스킹 사용량도 대화면의 경우 12L에서 18배 상승했습니다.
이번 주, 새로운 모습으로 개선된 갤럭시 워치5 시리즈와 함께 Wear OS 플랫폼이 확장되었습니다. 워치 라인업은 작년에 삼성이 갤럭시 워치4 시리즈에 탑재한 삼성 Wear OS를 통해 확인된 바 있는 웨어러블 플랫폼을 기반으로 합니다.
최신 갤럭시 워치5 시리즈나 기타 모든 Wear OS 기기에 맞춰 앱 개발을 시작하고자 한다면 지금이 바로 Wear OS용 Compose 버전 1.0을 확인할 적기입니다. 이 버전은 현대적인 선언형 UI 툴킷의 첫 번째 안정화 릴리스로서 Wear OS용 앱을 더 쉽고 빠르며 직관적으로 개발할 수 있도록 고안되었습니다. 이 툴킷은 Jetpack Compose의 장점을 Wear OS에 적용하고, 개발 프로세스 속도를 높여 더 적은 수의 코드 라인으로 멋진 앱을 제작할 수 있게 지원합니다.
1.0 버전은 선언형 방식에 따라 강력한 Kotlin 구문을 제공하여 UI 개발을 간소화합니다. 또한 워치 경험에 최적화된 UI 구성 요소 세트를 다양하게 제공하며 Android 스튜디오의 다양하고 강력한 도구를 함께 제공하여 UI 반복 작업을 간소화해 줍니다. 따라서 Wear OS 앱에 맞춘 사용자 인터페이스 구축에는 Wear OS용 Compose를 권장합니다.
Wear OS용 Compose를 처음 시작하는 개발자 여러분에게 도움이 될 유익한 자료를 많이 준비했습니다! 단계별 여정을 위해 구성한 학습 경로, 빠른 시작 가이드를 포함한 문서, 실습 경험을 제공하는 Wear OS용 Compose Codelab과 Github에서 제공하는 샘플을 참조하시기 바랍니다.
Wear OS용 Compose와 마찬가지로, 타일을 더 빠르고 손쉽게 만들 수 있도록 지원하는 Wear OS 타일 구성 요소도 개발 중입니다. 타일은 Wear OS 사용자가 할 일을 신속하게 완료하기 위해 필요한 정보와 작업을 한눈에 보고 액세스하는데 유용하며, Wear OS에서 가장 많이 사용되는 기능 중 하나입니다. 이번 업데이트에서는 머티리얼 구성 요소와 레이아웃을 제공하여 Wear OS에 적합한 최신 머티리얼 디자인을 사용한 타일을 제작할 수 있도록 지원합니다. 현재는 베타 버전이지만, 곧 출시가 공지될 예정이니 기다려 주시기 바랍니다!
또 한 가지 주목해야 할 출시 공지로는 Android 스튜디오의 최신 버전인 Android 스튜디오 Dolphin이 있습니다. 더 수월한 웨어러블 앱 개발을 위해 고안된 다음 기능에 주목해 주시기 바랍니다.
Google은 Jetpack Compose, 타일 구성 요소, Android 스튜디오 Dolphin 간의 Wear OS 앱 개발을 간소화하고 있습니다. 게다가 Wear OS 생태계에 갤럭시 워치5 시리즈가 추가되면서 탁월한 Wear OS 앱을 개발해야 할 이유가 더 많아졌습니다.
최적화를 시작할 적기, 바로 지금입니다!
올해는 폼 팩터가 대세입니다. Google은 개발자 여러분이 다양한 폼 팩터 전반에서 앱을 최적화하고 개발할 수 있도록 올해 Google I/O에서 선보인 세션과 워크숍, Android 스튜디오 기능 등 새로운 콘텐츠와 도구를 제공하는 데 최선을 다하고 있습니다. 또한 여러분의 최적화 여정을 돕고자 대화면 및 Wear OS용 머티리얼 디자인 가이드도 마련하였습니다.
삼성 갤럭시 언팩 이벤트는 워치5 시리즈부터 Z 폴드4에 이르기까지 다양한 크기와 형태의 화면을 아우르는 혁신의 장이었습니다. Android 기기 생태계 전체에서 멋진 모습의 앱을 선보일 수 있도록 준비하세요!
작성자: Jolanda Verhoef (Android Developer Relations Engineer)
원문은 여기서 확인할 수 있으며 블로그 리뷰에는 엄재웅(GDE)님이 참여해주셨습니다.
저희의 로드맵에 발맞춰 Android의 최신 네이티브 UI 도구 키트인 Jetpack Compose 버전 1.2가 출시되었습니다. 이번 버전에는 다운로드 가능한 글꼴과 지연 그리드 같은 새로운 기능과 향상된 포커스, 마우스, 입력 처리 등 태블릿과 Chrome OS용으로 개선된 기능들이 포함되어 있습니다.
Compose는 스마트폰, 태블릿, 폴더블에서 작동하는 새로운 Android 앱 개발에 권장됩니다. 이번에 Compose for Wear OS 1.0도 함께 출시되어 Wear OS 앱을 개발하는데에도 Compose가 최고의 방안이 되었습니다.
Twitter 엔지니어링 팀과 같이 개발자들이 Compose를 사용해 앱을 더 빠르게 출시하는 사례가 이어지고 있습니다.
“Compose 덕분에 개발 생산성이 매우 향상되었습니다. 사용자 설정 뷰를 만드는 것보다 구성 가능한 함수를 작성하는 것이 훨씬 더 쉽고 빠르며, 저희 디자이너들의 요구 사항들도 훨씬 더 쉽게 충족할 수 있습니다.”
Compose 1.2에는 휴대폰, 태블릿, 폴더블에서 Compose를 지원하기 위한 여러 업데이트가 포함되어 있습니다. 그중에는 실험 단계를 마치고 새로 선보이는 안정적인 API가 있으며 Kotlin 최신 버전도 지원됩니다. Compose 1.2와 함께 작동하도록 샘플, Codelab, Accompanist 라이브러리, MDC-Android Compose Theme Adapter도 업데이트했습니다.
참고: Compose Compiler 라이브러리를 1.2로 업데이트하려면 Kotlin 1.7.0을 사용해야 합니다. 현 시점 이후로 이 Compiler 버전은 다른 Compose 라이브러리 버전과 분리됩니다. Jetpack Compose 라이브러리의 독립 버전 관리에 관한 블로그 게시물에서 자세히 살펴보세요.
몇 가지 기능과 API가 안정적으로 추가되었습니다. 주요 사항은 다음과 같습니다.
Compose에는 계속해서 새로운 기능을 도입하고 있습니다. 그 중 주요한 몇 가지를 소개합니다.
@OptIn으로 새 API를 사용해 보신 후 여러분의 의견을 들려주세요!
커뮤니티에서 제기된 여러 문제를 해결했습니다. 그중 중요한 몇 가지를 공유합니다.
Issue Tracker를 통해 버그를 신고하고 기능을 요청해 주셔서 감사드립니다. Compose를 개선하고 필요한 API를 개발하는 데 큰 도움이 되니, 앞으로도 소중한 의견 남겨 주시고 Compose 개선에 여러분의 많은 도움을 부탁드립니다!
다음 단계가 궁금하시다면 업데이트된 로드맵을 확인하여 지연 항목 추가 및 제거를 위한 애니메이션, 흐름 레이아웃, 텍스트 편집 개선 사항 등, 현재 저희가 추진중인 기능들을 살펴보시기 바랍니다.
Jetpack Compose는 개발자 여러분이 요청해주신 여러 기능 덕분에 진화를 거듭하고 있습니다. 이미 프로덕션 단계에서 수만 개의 앱이 Jetpack Compose를 사용하고 있다는 것을 매우 기쁘게 생각하며, 또한 많은 개발자 여러분들이 Jetpack Compose로 앱 개발을 어떻게 개선했는지 경험을 공유해 주셨습니다. 여러분이 다음에 무엇을 개발하실 지 무척 기대됩니다.
Compose를 잘 활용해보시길 바랍니다!