[go: up one dir, main page]

                           개발자 여러분, 안녕하세요!

한 주간 블로그에 발표된 Google의 주요 개발자 제품별 최신 소식을 살펴보세요.
(국문 번역본으로 보시려면 Chrome 창에서 각 링크로 이동한 후 마우스 우측 버튼을 눌러 ‘한국어로 번역'을 선택하시면 됩니다.)


[주요 개발자 블로그 업데이트] 

AI & Machine Learning


Android 


Google Play 

  • 구글플레이 패스가 한국에 출시됐습니다 (국문


Developers


최신 개발자 문서에 대한 알림을 받아보려면, 여기에서 Google 개발자 프로필을 생성하여 손쉽게 살펴보세요. 다양한 개발자 학습 과정과 커뮤니티 이벤트에 참여하면 여러분의 프로필에 표시할 수 있는 온라인 인증 배지도 함께 드립니다. 


Google for Developers 

작성자: Android 개발자 팀

이 글의 원문은 여기서 확인하실 수 있습니다.

Todoist는 세계 최고의 작업 및 시간 관리 앱입니다. 3천만 명이 넘는 사용자들이 다양한 프로젝트를 조직하거나 기획하고 협업하는 데 Todoist를 활용합니다. Todoist는 사용자들이 업무와 생활에 보다 만족스럽게 자사의 앱을 활용하도록 최선을 다하고 있으며, 다양한 기기에서 사용할 수 있게 접근성을 높이고 있습니다. 

이러한 노력의 일환으로 Todoist 개발자들은 앱을 웨어러블 기기용으로 완전히 새로 개발하기 위해 Wear OS용 Compose를 채택했습니다. 이 최신 UI 툴킷은 Android가 다른 기기에 제공했던 것과 마찬가지로 개발자들에게 간단히 사용할 수 있는 여러 기능을 제공해 앱 개발의 효율을 높이고 관리를 용이하게 합니다.

Wear OS에 최적화된 친숙한 툴킷

Todoist 개발자들은 이미 Android 모바일용 Jetpack Compose를 접해 보았기 때문에, Wear OS용 Compose에 빠르게 적응할 수 있었습니다. Todoist의 Android 책임자 Rastislav Vaško는 "새 Wear 디자인 언어와 Wear OS용 Compose가 발표될 때 무척 설렜습니다. 플랫폼의 미래에 투자할 새로운 동기이자 기회였죠.”라고 말했습니다.

모바일용 Jetpack Compose와 마찬가지로, Wear OS용 Compose 툴킷을 이용하면 맞춤 설정이 가능한 컴포넌트를 통합하여 이전에 사용했던 View 기반 레이아웃보다 훨씬 빠르게 코드를 작성하고 디자인 요구 사항을 구현할 수 있습니다. 개발자들은 Wear OS용 Compose Codelab에서 제공하는 문서와 실습 지침을 참고해 툴킷에 관한 기존 지식을 웨어러블 플랫폼에 적용할 수 있었습니다.

Rastislav는 또한 "Wear OS용 Compose는 레이아웃을 만드는 데 필요한 거의 모든 요소를 갖추고 있었습니다. Swipe-dismiss, TimeText, ScalingLazyList는 모두 기대 이상으로 훌륭히 작동하는 컴포넌트였고, 지금도 이 기능들을 사용하면 눈에 띄는 뛰어난 앱을 만들 수 있습니다."라고 덧붙였습니다. 툴킷에서 아직 제공되지 않는 기능의 경우, Todoist는 Google의 Horologist를 활용했습니다. Horologist는 Wear OS 개발자에게 공통적으로 필요하지만 아직 출시되지 않은 기능을 제공하는 오픈소스 라이브러리 그룹입니다. Todoist 개발자들은 네이티브 디자인 가이드라인을 따르는 Fade Away Modifier를 포함하고자 Horologist의 Compose Layout Library를 이용했습니다.

개발 속도를 대폭 높여주는 Wear OS용 Compose

Wear OS용 Compose를 이용하면 Wear OS용 UI를 개발하는 과정이 간단해집니다. 엔지니어들은 풍부한 Kotlin 구문과 최신 선언형 접근 방식을 통해 복잡하면서도 가독성과 유지 보수성이 높은 화면을 만들 수 있습니다. Todoist 개발자들은 이에 크게 힘입어 앱을 개발하는 시간을 단축하면서도 더 많은 목표를 달성할 수 있었습니다.

이번 앱 재정비의 핵심은 최신 Wear OS용 머티리얼 디자인에 맞도록 모든 화면과 상호작용을 다시 설계하는 것이었습니다. Todoist 개발자들은 Wear OS용 Compose를 사용하여 WearableDrawerLayout에서 벗어나 더욱 평탄한 앱 구조를 만들었습니다. Wear OS용 머티리얼 디자인 지침에 따라 이런 변화를 이루어내자 앱의 레이아웃이 혁신되었습니다.

또한 Todoist는 사용자 경험을 복잡하게 만드는 불필요한 요소를 제거하여 각 화면을 Wear OS 기기에 알맞게 각 화면을 디자인했습니다.

Rastislav는 "웨어러블 기기용 앱을 개발할 때는 간결하고, 신속하며, 핵심에 집중하는 상호작용을 실현하고자 어떤 요소를 생략할 수 있을지 항상 고민합니다."라고 밝혔습니다. Todoist는 Wear OS용 Compose를 이용해 다양한 방향으로 앱 개발과 디자인을 개선했고, 그 결과 일관된 사용자 경험을 제공하면서 유지 보수성이 높은 기능도 구현할 수 있었습니다.

사용자 및 개발자 경험의 개선

Todoist 개발자들은 Jetpack Compose를 사용해 빠르고 효율적인 방식으로 앱을 Wear OS에 맞게 재탄생시켰습니다. 최신 도구와 직관적인 API를 활용하고 원활한 디자인 및 개발 프로세스를 위한 각종 리소스, 문서, 샘플을 참고하여 코드의 양을 줄이는 한편 기능성이 뛰어난 새로운 사용자 경험을 더 빠르게 제공할 수 있었습니다.

앱이 Wear OS용으로 거듭난 이후 Google Play에서는 Todoist 설치 증가율이 50% 증가했으며, Todoist 개발자들은 사내와 소셜 미디어에서 긍정적인 피드백을 받았습니다.

Todoist는 Wear OS용 Compose를 활용해 앱을 얼마나 더 훌륭히 발전시킬 수 있을지 기대하고 있습니다. 이번 재정비를 통해 웨어러블 기기의 미래에 투자한 Todoist 팀은 이제 Wear OS 3에서 작동하는 기기들이 어떤 기능으로 얼마나 더 많은 기회를 열어 줄지 기대하고 있습니다.

Wear OS용 Compose를 활용한 앱 혁신

Todoist는 Wear OS용 Compose로 앱을 완전히 새롭게 구축하고 설계하여 사용자와 개발자 양쪽의 경험을 모두 개선했습니다.

Wear OS용 Jetpack Compose에 대해 자세히 알아보세요.

이 글의 원문은 여기서 확인하실 수 있습니다.

ZEPETONAVER Z에서 제작한 3D 메타버스 플랫폼으로, 200여 개국에 3억 명이 넘는 사용자를 두고 있습니다. ZEPETO에서는 하나뿐인 아바타를 만들고, 친구를 사귀고, 나만의 상상력으로 빚어낸 가상 공간을 탐험할 수 있습니다. 사용자 경험을 우선시하는 플랫폼을 구축하기 위한 방법의 일환으로, ZEPETO의 엔지니어들은 Android의 최신 네이티브 UI 툴킷인 Jetpack Compose로 마이그레이션을 시작하게 되었습니다.
 

Jetpack Compose로 통합
 ZEPETO 최초 개발 당시에는 View와 Unity, OpenGL이 사용되었으나, 기존에 View로 작성된 UI 코드의 20%가 현재 Jetpack Compose로 재작성되었습니다. 이후 개발 과정에서 반복적으로 발생하는 충돌을 해결하기 위해 ZEPETO 개발자들은 순차적으로 Compose 통합 작업을 진행했습니다. View 시스템에서 Slider나 Switch처럼 특정한 모양을 띠는 커스텀 UI를 구현하려면 onDraw 메서드에서 Canvas 클래스를 호출해야 합니다. Jetpack Compose에서는 커스텀 클래스를 정의할 필요 없이 Kotlin만으로 이러한 UI를 구현할 수 있어 개발 과정이 간소화되고 추가적인 절차가 줄어듭니다.




코드베이스 축소
Jetpack Compose가 도입된 후, ZEPETO 개발자들은 복잡한 UI 기능을 재작성했습니다. 새로운 설계 시스템에서는 글꼴 및 크기를 보다 직관적인 방식으로 조정할 수 있어 유지 보수성, 효율성, 사용자 경험이 크게 개선되었습니다. Android 개발자 김호중 님은 “Compose를 사용하여 캐릭터 샵, 선물하기, 얼굴 꾸미기 화면처럼 UI가 비교적 복잡하고 다양한 비즈니스 로직이 존재하는 부분의 코드를 재작성했습니다.”라고 전했습니다. 캐릭터 샵의 페이저와 그리드 같은 영역에서는 Composable을 사용하여 코드 수를 10% 이상 줄였습니다.

ZEPETO에서는 다이얼로그 컴포넌트도 Compose로 마이그레이션하기로 했습니다. 이로써 엔지니어들은 앱 전반에 걸쳐 원하는 형태의 다이얼로그를 사용할 수 있게 되었습니다. ZEPETO 소속 Android 개발자인 박주형 님은 “이제 공통 다이얼로그의 각 구성 요소를 컴포넌트로 만들어, 마치 레고를 조립하듯 공통 다이얼로그를 만들 수 있게 되었습니다.”라고 말했습니다. 코드 모듈화 덕분에 개발자들이 자주 사용하는 앱 컴포넌트를 구축하는 속도가 더욱 빨라졌습니다. 다이얼로그 컴포넌트를 Compose로 마이그레이션하여 1600 라인 이상의 코드를 정리한 결과, 코드의 가독성과 이해도, 유지 보수성이 더욱 강화되었습니다.
 

한층 개선된 개발 경험
Jetpack Compose 덕분에 UI 요소를 재사용 및 공유하면서 Preview, 개발, UI 구현 작업의 효율성이 대폭 증대했습니다. ZEPETO 개발자들은 이미 230개가 넘는 Preview 기능을 생성하여 앱 전반에 걸친 기능을 손쉽게 테스트 및 디버깅하고 있습니다.
개발자들이 Jetpack Compose를 배우는 과정도 상당히 수월했습니다. 김호중 개발자는 “이미 Android View 시스템을 잘 아는 개발자들은 짧은 시간 안에 Compose를 실제 사용 가능한 수준으로 익힐 수 있었습니다.”라고 밝혔습니다.
We rewrote the Character Shop feature in Compose. It was much faster to write it in Compose, and we reduced the amount of code by over 10% ≫
Hojung Kim Android developer, ZEPETO


Compose와 함께 도약하기
Compose를 최우선순위로 두고 계속해서 지원을 확대하는 Google의 방침은 ZEPETO 개발자들에게 큰 동력이 되었습니다. ZEPETO에서는 앞으로 Google이 더 많은 Android API를 통합하며 Compose를 계속해서 발전시켜 나갈 모습을 기대하고 있습니다.

현재 캐릭터 샵, 비디오 및 사진 에디터, 다이얼로그 컴포넌트 등 ZEPETO의 많은 기능은 그래픽을 구현하는 Unity, OpenGL과 함께 Jetpack Compose로 구현되었습니다. 하지만 ZEPETO는 여기서 멈추지 않고 빠른 개발 속도, 코드 유지 보수성 및 코드 축소 등 이미 증명된 장점들에 힘입어, 계속해서 Compose를 통해 화면을 마이그레이션하고 새로운 기능을 구축할 것입니다. 김호중 개발자는 “Unity와 OpenGL로 구현되는 그래픽과 나머지 UI를 제외하고, 장기적으로 UI의 80% 이상을 Compose로 구성할 계획입니다.”라고 덧붙였습니다.
 
지금 앱 최적화하기
Jetpack Compose와 함께 UI 개발의 새로운 장을 열어 보세요.

작성자: Android 개발자 팀

원문은 여기서 확인하실 수 있습니다. 

Outdooractive는 자연을 사랑하는 1,200만 명 이상의 글로벌 사용자에게 등산로에 관한 지도와 정보를 제공하는 유럽 최대 규모의 아웃도어 플랫폼입니다. 사용자가 직접 아웃도어 활동을 계획하고 경로를 탐색하도록 지원하는 플랫폼으로서, Outdooractive는 오래전부터 스마트시계와 같은 웨어러블 기기가 자사 앱의 성장에 필수적인 역할을 할 것이라고 전망해 왔습니다. 많은 사용자가 웨어러블 기기를 위치 및 활동 추적에 유용하게 활용하는 상황에서 Outdooractive의 개발자들은 Google에서 출시한 Android의 최신 UI 툴킷인 Wear OS용 Compose를 활용하여 자사의 앱을 개선하고 시장의 성장에 대응해 왔습니다.

Wear OS용 Compose의 효과는 애플리케이션 개선 작업을 통해 잘 드러났습니다. Outdooractive 개발자의 개발 시간이 약 30% 단축되어 간소화된 사용자 인터페이스를 더 빨리 만들 수 있게 되었습니다. Outdooractive의 선임 프로젝트 매니저 Liam Hargreaves는 "전에는 며칠씩 걸리던 일이 이제는 몇 시간이면 끝납니다."라고 밝혔습니다.

최신 코드베이스를 확보하고 개발 속도를 단축하면서 UI 코드를 읽고 쓰기 편해졌고, 설계 단계에서 프로토타입 제작 속도가 빨라지고 협업도 더욱 원활해졌습니다. 그 결과, 개발자가 사용자에게 더 편리한 환경을 제공할 수 있게 되었습니다.

새로운 도구를 이용한 사용자 환경 개선

Outdooractive의 목표는 자사의 앱을 통해 사용자의 웨어러블 기기에 길 안내 정보나 등산로 상태 정보, 날씨 정보 등을 실시간으로 정확하게 제공하는 것입니다.

Liam은 다음과 같이 말했습니다. "저희 앱에서는 다소 복합적인 상호작용이 일어납니다. 따라서 이러한 각각의 상호작용을 단순하고, 빠르고, 쉽게 접근 가능하며, 명확하게 표시된 상태로 유지해야 합니다. 고객이 산비탈에 서 있을 때든, 폭풍우 가운데 있든, 겨울 등산 장비와 장갑으로 무장하고 있을 때든 말이죠."

Wear OS용 Compose의 신기능 덕분에 Outdooractive 개발자는 이동 중인 사용자에게 더 우수한 품질의 앱 경험을 제공할 수 있게 되었습니다. 구성요소를 이용하면 목록을 만드는 프로세스가 크게 개선되어 미리 생성된 디자인 요소를 사용할 수 있으므로 작업 기간이 며칠씩 단축됩니다. 또한 ScalingLazyColumn을 사용하면 RecyclerView나 ScrollView 없이도 스크롤 화면 제작을 최적화할 수 있습니다.

그뿐만 아니라 AnimatedVisibility 구성요소의 뛰어난 사용 편의성 덕분에 기존에는 시간이 없어서 구현하지 못했던 여러 가지 기능을 애니메이션으로 구현할 수 있게 되었습니다. Wear OS용 Compose를 사용한 뒤로 사용자에게 로딩이나 오류 등의 상황을 좀 더 명확하게 전달하여 다양한 UI 상태를 표시하기가 훨씬 쉬워졌다는 점도 많은 개발자들의 호응을 얻었습니다.

"Compose를 사용한 결과 UI 코드를 읽고 쓰기 훨씬 편해져서, 설계 단계에서 프로토타입 제작 속도가 빨라지고 코드 협업도 더욱 원활해졌습니다."  
오버헤드 없는 실험 진행

Wear OS용 Compose를 사용한 이후 Outdooractive 사용자가 등산 경로 탐색 등 평소에 휴대폰으로 했던 작업을 웨어러블 기기에서 하는 경우가 많아졌습니다. 개발자가 이루고자 했던 주된 UI 목표가 Wear OS용 Compose를 통해 실현된 것입니다.

Liam은 "웨어러블 기기는 저희 제품과 시장 전략에서 아주 중요한 부분을 차지하며, 이에 대한 사용자 반응도 무척 긍정적입니다."라고 말했습니다.

Outdooractive의 개발자들이 사용한 또 다른 Wear OS 기능으로는 건강 관리 서비스가 있습니다. 이 기능은 기기 내 센서를 활용해 심박수 모니터링과 같은 건강 상태 추적 기능을 앱에 구현하여 웨어러블 기기만의 고유한 경험을 제공합니다. Wear OS의 건강 관리 서비스는 각종 건강 및 피트니스 관련 센서의 구성을 자동화하고, 데이터를 수집하여 심박수, 이동 거리 및 속도 등과 같은 측정항목을 계산합니다. 따라서 개발자는 복잡한 앱 기능을 손쉽게 구현하고 배터리 수명도 극대화할 수 있습니다. Outdooractive의 개발자들은 건강 관리 서비스와 Wear OS용 Compose를 사용해 생체 신호 센서로 지원되는 앱 서비스를 더 확장할 계획입니다.

Outdooractive의 효율적인 프로세스에서는 다양한 레이아웃을 유연하게 실험하면서도 개발 오버헤드가 증가하지 않아 Wear OS용 Compose로 애플리케이션을 손쉽게 개발할 수 있습니다.

Liam은 Wear OS용 Compose 사용을 고려 중인 다른 개발자들에게 "강력히 추천합니다."라고 덧붙였습니다.

웨어러블 앱 기능 향상하기

Wear OS용 Jetpack Compose를 사용하면 웨어러블 기기에서 더욱 매력적인 사용자 경험을 구축할 수 있습니다.

더 알고 싶으시다면, Google I/O의 Wear OS 세션을 시청하거나, Wear OS용 Compose Codelab을 통해 학습해 보시기 바랍니다.

작성자: 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 등 폴더블 폰에 적합한 앱 준비하기

갤럭시 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배 상승했습니다.


탁월한 Wear OS 앱 개발

이번 주, 새로운 모습으로 개선된 갤럭시 워치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이 있습니다. 더 수월한 웨어러블 앱 개발을 위해 고안된 다음 기능에 주목해 주시기 바랍니다.

  • Wear OS 에뮬레이터 툴바를 업데이트하여 Wear OS 기기에서 이용 가능한 버튼과 동작(손바닥으로 가리기, 기울이기, 두 개의 물리적 버튼 시뮬레이션 등)을 추가하였습니다.
  • 에뮬레이터 페어링 도우미로 여러 대의 Wear OS 기기를 가상 또는 실물 스마트폰 한 대와 페어링할 수 있습니다. Android 스튜디오가 종료 후 페어링을 저장하므로 기기 관리자에서 Wear 기기를 확인할 수 있습니다.
  • 다이렉트 서피스 론치를 통해 Wear OS 타일, 시계 모드 및 정보 표시용 실행/디버그 구성을 생성하고 이를 Android 스튜디오에서 직접 실행할 수 있습니다.

Google은 Jetpack Compose, 타일 구성 요소, Android 스튜디오 Dolphin 간의 Wear OS 앱 개발을 간소화하고 있습니다. 게다가 Wear OS 생태계에 갤럭시 워치5 시리즈가 추가되면서 탁월한 Wear OS 앱을 개발해야 할 이유가 더 많아졌습니다.

최적화를 시작할 적기, 바로 지금입니다!

올해는 폼 팩터가 대세입니다. Google은 개발자 여러분이 다양한 폼 팩터 전반에서 앱을 최적화하고 개발할 수 있도록 올해 Google I/O에서 선보인 세션과 워크숍, Android 스튜디오 기능 등 새로운 콘텐츠와 도구를 제공하는 데 최선을 다하고 있습니다. 또한 여러분의 최적화 여정을 돕고자 대화면Wear OS용 머티리얼 디자인 가이드도 마련하였습니다.

삼성 갤럭시 언팩 이벤트는 워치5 시리즈부터 Z 폴드4에 이르기까지 다양한 크기와 형태의 화면을 아우르는 혁신의 장이었습니다. Android 기기 생태계 전체에서 멋진 모습의 앱을 선보일 수 있도록 준비하세요!

작성자: Kseniia Shumelchyk (Developer Relations Engineer), John Nichol (Tech Lead of Compose for Wear OS) 

원문은 여기서 확인하실 수 있으며, 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다. 

 

Wear OS watch with blue background  

 

드디어 Wear OS용 Compose 베타 버전이 출시되었습니다. 이 최신 선언적 UI 툴킷을 통해 개발자는 사용자에게 훌륭한 Wear OS 경험을 제공할 수 있게 됩니다. 

 

Wear OS용 Compose는 최신 Wear OS용 머티리얼 디자인을 포함한 시계 최적화 구성 요소를 지원합니다. 이 구성 요소는 Compose의 핵심 라이브러리에 기반을 두며, 툴킷은 Modern Android Development를 활용하여 개발 과정 전반을 가속화합니다. 

 

Wear OS용 Compose의 이번 베타 버전은 올해 중 출시되는 1.0의 기능을 전부 갖추고 있어 프로덕션 환경에서 즉시 사용 가능한 앱을 구축할 수 있습니다. 정식 버전 API를 출시했으니 앞으로는 성능과 1.0 버전에 해당하는 기존 기능을 다듬는 데 중점을 둘 것입니다.  



 

달라진 베타 버전 

 

저희는 지난 I/O 이후 Jetpack Compose의 장점을 Wear OS에 담기 위해 노력했습니다. Slack을 통해 커뮤니티와 교류하고 API, 구성 요소, 도구에 관한 개발자 피드백을 수집하여 탐색, 지연 목록 크기 조정, 입력 및 동작 지원 등 다양한 구성 요소를 개선했습니다. 

 

첫 베타 버전은 알파 버전 21에 뒤이어 출시되었습니다. 개발자 프리뷰 발표 이후의 주요 변화는 다음과 같습니다.  

 

🆕 입력 방법 구성 요소 

 

사용자 입력 방법 구성 요소에 관한 개발자 여러분의 요청을 반영하여, 각 시계 앱에 맞춰 사용할 수 있는 다양한 컴포저블을 추가했습니다.  

 

  • 사용자는 Picker로 스크롤 목록에서 항목을 선택할 수 있습니다. 기본적으로 선택 가능한 항목 목록은 회전하는 원통을 측면에서 보는 것처럼 양방향으로 ‘무한' 반복됩니다. Picker는 내부에서 ScalingLazyColumn 구현을 사용하고 있어 여러 가지 고급 ScalingLazyColumn 기능을 개발하고 다듬을 수 있습니다.  

  • 사용자는 Slider로 범위 내에서 값을 선택하여 글꼴 크기나 밝기와 같은 설정을 조정할 수 있습니다. 

  • 사용자는 전체 화면 컨트롤 구성 요소인 Stepper로 범위 내에서 값을 선택하여 헤드폰 음량 등을 조절할 수 있습니다. 

 

🆕 대화 상자 

 

탐색 대상이나 기존의 전체 화면 대화 상자처럼 활용할 수 있는 전체 화면 알림 및 확인 컴포저블이 추가되었습니다. 대화 상자는 다른 콘텐츠 위에 표시되며 스와이프하여 닫기를 지원합니다. 스와이프 동작을 진행하는 동안 백그라운드에 상위 항목 콘텐츠를 표시합니다. 

 

Scaffold와의 일관성을 위해 전체 화면 대화 상자는 PositionIndicator Vignette을 표시합니다. 

 

🆕 Progress Indicator

 

시계 화면에 최적화한 Progress Indicator인 CircularProgressIndicator가 추가되었습니다. Indicator는 원형 트랙을 따라 시계 방향으로 움직이면서 진행 상태를 표시합니다. 

 

 

​​CircularProgressIndicator를 활용하는 몇 가지 방법이 있습니다. 정해지지 않은 진행 상태를 보여 주거나 진행 중인 작업의 완료 비율을 나타낼 수 있으며, Progress Indicators의 원형 트랙에는 다른 콘텐츠(예: 전체 화면의 TimeText)를 표시할 공간이 주어집니다. 

 

🆕 Page Indicator 

 

페이지로 나누기를 구현할 수 있도록, UI 툴킷에서 전체 페이지 수와 선택한 페이지를 나타내는 HorizontalPageIndicator 구성 요소를 제공합니다. 

 

 

HorizontalPageIndicator는 화면 모양에 따라 활성화한 페이지와 남은 페이지를 폼 팩터에 적합하게 시각화하여 표시합니다. 

 

개선 사항 

 

  • ScalingLazyColumn: 기본 동작을 개선하여 Wear OS용 머티리얼 디자인과 일관성을 유지합니다. 예를 들어, 계측 매개변수를 업데이트하고 추가 패딩을 기본값으로 설정했으며, 콘텐츠 크기로 크기를 측정하도록 했습니다. 

  • Scaffold: PageIndicator 슬롯을 추가하여 원형 기기에 항목을 올바르게 표시합니다. 

  • Navigation: Compose Navigation과 동일한 기능을 보장하고, 전체 화면 전환과 페이지 스크롤 시 가장자리 스와이프를 지원합니다. 

  • 곡선 요소: CurvedModifier와 새 DSL을 추가하여 방사형, 각도, 훑기, (반)시계 방향, 원내/원외와 같은 곡선 영역에 적절한 구성을 사용할 수 있습니다. CurvedLayout으로는 직선과 곡선 영역을 연결하고, curvedComposable을 사용하여 기존의 컴포저블 구성 요소를 도입하는 데 활용할 수 있습니다. 

 

최근 추가한 사항들 덕분에 Wear OS용 Compose 머티리얼 카탈로그의 구성 요소가 View 기반 레이아웃보다 더 다양해져 새로운 Wear OS 디자인 가이드라인을 독창적으로 구현할 수 있습니다.  

 

도구 

 

Android Studio Electric Eel에서 제공하는 최신 기능으로 Wear OS용 Compose와 함께하는 개발의 편리함을 느껴 보세요.  

 

  • 자동 완성과 편집기 작업을 개선하는 편집기와 도구 지원 

  • Wear OS용 컴포저블 미리보기 

  • 🆕 실시간 디버깅을 지원하는 Live Edit 

  • 🆕 Wear OS 프로젝트 템플릿용 Compose 

  

Horologist 

 

드디어 Horologist를 출시했습니다. 이는 Google의 오픈소스 프로젝트로 Wear OS용 Compose와 기타 Wear OS API의 기능을 보충해 주는 Wear 라이브러리 세트를 제공합니다. 

Gears of a watch 

 시계학에 관해 읽어 보세요 

 

Horologist에서는 유용한 Compose 확장 프로그램을 제공합니다. 

 

  • 재생 컨트롤과 음량 화면 등 미디어 UI 구성 요소 

  • 머티리얼의 날짜 및 시간 선택 도구 

  • 스크롤과 탐색 화면 변화를 동기화하는 TimeText 및 PositionIndicator를 동반한 Navigation 인식 Scaffold 

 

저희는 개발자가 다양한 경험을 제공하는 훌륭한 Wear OS 앱을 구축할 수 있도록 Horologist를 계속 개발하여 추가 도구를 제공하겠습니다. Github의 Horologist를 확인하여 피드백을 주시고 Wear 개발자가 유용하게 사용할 보편적인 기능을 만드는 데 기여해 보세요. 이후 출시할 버전도 많은 기대 바랍니다! 

 

시작하기 

 

모바일 Compose의 개발 원칙 중 다수가 Wear OS용 Compose에 적용되니, UI 툴킷에 익숙하지 않다면 Jetpack Compose 기본 과정부터 시작하는 걸 추천드립니다. 

 

Wear OS용 Compose를 시작하는 데 도움이 될 자료를 몇 가지 준비했습니다. 

 

 

Wear OS용 Compose 베타 버전이 출시되었으니 이제 Compose로 앱을 생동감 있게 구현하고 기존 UI를 새롭게 업데이트해 보세요. Wear OS 앱 구축에 관한 자세한 내용은 개발자 사이트를 참고하시기 바랍니다. 

 

Wear OS용 Compose로 앱을 구축한 여러분의 경험에 귀 기울이고자 합니다! Kotlin Slack #compose-wear 채널에서 이야기를 나누고 Issue Tracker에 피드백을 제출해 주세요.  

 

Compose와 함께라면 개발이 즐거워집니다!