2007년에 설립된 Airbnb는 현재 전 세계 4백만 명이 넘는 집주인, 즉 호스트와 10억 명이 넘는 손님, 즉 게스트를 연결하도록 성장했습니다. Airbnb 앱의 성공 비결은 혁신적인 개발을 촉진하는 기술 사용과 숨은 공로자인 엔지니어의 역량 강화라는 두 가지 개발 원칙에 집중하는 것이었습니다.

Android의 최신 UI 개발 툴킷인 Jetpack Compose는 Airbnb의 이 두 가지 개발 원칙을 직접적으로 지원합니다. Compose는 적응성과 품질이 뛰어난 엔지니어링과 줄어든 상용구 코드에 적합한 탄탄한 기반을 제공하므로 개발자들은 뛰어난 사용자 경험을 제공하는 데 주력할 뿐만 아니라 두 가지 원칙을 바탕으로 한 기술적 진일보를 이뤄낼 수 있었습니다.

Airbnb는 Compose가 개발자 프리뷰로 제공되었던 2020년에 테스트를 시작했습니다. Airbnb는 얼리 어답터로서 열정적인 자세로 새로운 기능을 사용하고 워크플로를 단순화했습니다. 실제 프로덕션 환경에서 Compose를 사용하며 자신감을 얻은 Airbnb 엔지니어들은 Compose로 인해 개선된 개발 프로세스에 여전히 만족도가 높습니다.

엔지니어를 위한 개발 경험 개선

Airbnb의 엔지니어들은 Compose의 결정론적 테스트를 통해 자체 실행했던 UI 테스트를 철저히 제어하고 잦은 결함을 제거함으로써 사용자 경험 및 앱의 모든 부분에 대한 품질을 대폭 개선했습니다. Compose를 사용해 이전에는 불가능했던 애니메이션 테스트도 수행할 수 있었습니다.

마찬가지로, Airbnb 개발자들은 Compose를 사용해 자동화된 스크린샷 테스트를 코드베이스에 추가했습니다. 스크린샷 테스트를 위한 코드를 따로 작성할 필요가 없어 버그와 회귀를 바로 감지하고, 다양한 기기에서 기능과 UI가 제대로 구현되었는지 검토하고 보장하는 데 더 많은 시간을 할애할 수 있었습니다.

Compose는 View와도 호환성이 좋습니다. 덕분에 Airbnb 엔지니어는 이 새로운 UI 툴킷을 자신의 페이스에 맞춰 손쉽게 온보딩하고 테스트했으며, 전체 기능을 마이그레이션할 필요 없이 Compose의 이점을 누릴 수 있었습니다.

이처럼 엔지니어링 요소를 개선하여 새롭고 향상된 방식으로 이용자에게 서비스를 제공하는 데 필요한 탄탄한 기술 기반을 마련하였습니다.

효율적인 엔지니어링으로 사용자 경험 개선

Airbnb의 의사 결정의 중심에는 늘 호스트와 게스트가 있습니다. 엔지니어링 팀은 Compose를 채택한 후 UI를 더 쉽고 효율적으로 구현해 최종 사용자에게 더 나은 경험을 제공할 수 있었습니다.

Compose를 사용하니 Airbnb의 기능을 구현하는 데 필요한 코드 수가 확연히 줄어들어 업무 효율성이 높아졌습니다. 덕분에 Airbnb는 사용자에게 최상의 서비스를 제공할 수 있는 혁신적인 기능 개발과 관련된 복잡한 작업을 실행하는 데 에너지를 집중할 수 있었습니다.

기능 구현을 위한 코드 수가 줄어들어, Airbnb는 장기적으로 앱 크기의 증가세를 늦출 수 있습니다. 전 세계 곳곳의 수많은 호스트와 게스트(특히 오래된 기기를 사용하거나 데이터 요금이 비싼 국가에서 로그인하는 사용자)가 앱을 손쉽게 다운로드하고 액세스할 수 있도록 보장하기 위해 Airbnb는 앱 크기를 작게 유지하고자 합니다.

Airbnb는 Compose의 엔지니어링 개선 사항을 통해 사용자의 요구사항을 우선시할 수 있었습니다.


Compose로 개발자 생산성 향상하기

Compose 덕분에 UI 개발 과정이 간소화되면서, Airbnb 엔지니어들은 호스트와 게스트에게 이익이 되는 더욱 역동적이고 혁신적인 기능을 개발하는 데 집중할 수 있었습니다.

Jetpack Compose로 팀의 생산성을 향상하는 방법을 확인해 보시기 바랍니다.


Android Studio 팀은 안정적인 최신 버전의 Android Studio Dolphin 🐬(2021.3.1)을 이용해 더 쉽게 고품질 앱을 만드는 방법을 심층적으로 살펴봤습니다. 해당 버전은 Jetpack Compose, Wear OS, 개발 생산성이라는 세 가지 주요 테마에 초점을 두고 있습니다.


Jetpack Compose의 경우, Android Studio Dolphin에는 다중 화면 미리보기와 애니메이션 미리보기를 지원하는 안정적인 도구가 마련되어 있습니다. 또한 Layout Inspector 내에 편리한 Compose UI 카운터를 도입하여 여러분이 앱의 사용자 인터페이스를 디버그할 때 UI 재구성 시점을 계속 추적할 수 있도록 했습니다.


Android Studio Dolphin을 이용해 모든 Wear OS 3 기기에 맞는 Wear 앱, 타일, 시계 모드를 준비할 수 있도록 다양한 Wear OS 기능을 추가했습니다. 업데이트된 Wear OS Emulator와 직관적인 Pairing Assistant, 론치 타일과 시계 모드용 새로운 배포 흐름을 통해 훌륭한 Wear OS용 앱을 그 어느 때보다 쉽고 효율적으로 만들 수 있습니다.


마지막으로, Android Studio 사용 시 생산성을 한층 더 향상시키고자 Gradle Managed Virtual Devices가 테스트 기기를 중앙에서 관리할 수 있도록 했습니다.


최신 업데이트를 살펴보려면 지금 바로 다운로드하세요.


Android Studio Dolphin에 도입된 새로운 기능을 자세히 알고 싶다면 이 글 혹은 아래 영상의 내용을 참고하시기 바랍니다.



개발 도구

  • Intellij 2021.3 플랫폼 업데이트 - Android Studio Dolphin에는 개선된 Find Usages 흐름, Kotlin 디버거 업데이트, Kotlin에 대한 상시적 조건 검사, 개선된 코드 작성 의도 미리보기 등의 기능이 있는 Intellij 2021.3 버전이 포함됩니다. 자세히 알아보세요.

  • Gradle Managed Virtual Devices - 에뮬레이터를 사용해 앱 테스트를 자동화하려 했으나 조정 및 설정 과정이 번거롭다고 느꼈다면 Gradle Managed Virtual Devices를 사용해 보시기 바랍니다. 자동화된 테스트에 필요한 가상 기기를 개발의 일부로 설정하면 나머지 작업은 Gradle이 처리해 줍니다. SDK 다운로드부터 기기 프로비저닝 및 설정과 테스트 실행 및 해제에 이르기까지, Gradle이 계측 테스트 중에 가상 기기의 수명 주기를 관리합니다. Gradle은 스냅샷 관리, 테스트 캐싱, 테스트 샤딩을 지원하는 새로운 기능을 사용해 테스트 과정을 더욱 최적화하여 효율적이고 신속하며 일관적인 테스트 실행을 보장합니다.

Gradle Managed Virtual Devices는 또한 자동 테스트기로 불리는 완전히 새로운 유형의 기기도 도입했습니다. 자동화 테스트에 최적화된 이 기기를 통해 테스트 실행 중 CPU 및 메모리 사용량을 크게 절감할 수 있습니다. 자세히 알아보세요.

Gradle Managed Virtual Devices

Jetpack Compose

  • Compose Animation Inspector - Animation Preview inspector로 지원되는 애니메이션을 전부 한 번에 보고 조정할 수 있습니다. 특정 애니메이션을 고정하거나 전체 애니메이션을 프레임 단위로 스크럽하는 것도 가능합니다. Animation Preview는 현재 updateTransitionAnimatedVisibility로 제작된 애니메이션을 지원합니다.

Compose Animation Inspector


  • Compose Multipreview Annotations - 앱 전반에 걸쳐 모든 곳에 똑같은 @Preview 코드를 복사하여 붙여넣는 대신, 여러 개의 미리보기 정의가 포함된 Annotation 클래스를 정의할 수 있습니다. 새로운 Annotation은 미리보기를 전부 한 번에 생성하므로 모든 단일 Composable을 반복해서 정의하지 않고도 다양한 기기, 글꼴, 테마를 동시에 미리보기할 수 있습니다. 자세히 알아보세요.

Multipreview annotations


  • Layout Inspector의 Compose Recomposition Counts - Jetpack Compose UI를 쉽게 디버그할 수 있도록 Layout Inspector에서 Compose 앱의 재구성 횟수를 볼 수 있도록 했습니다. 이 도구를 통해 UI 업데이트 횟수가 적절한지 파악할 수 있습니다. Component Tree 패널과 Attributes 패널에 재구성 횟수와 건너뛰기 횟수를 선택적으로 표시하면 더 편하게 사용할 수 있습니다. 자세히 알아보세요.

Compose Recomposition Counts



Wear OS

  • Wear OS Emulator Pairing Assistant - Wear OS Emulator Pairing Assistant를 사용하면 여러 ADB 명령과 기기의 조합 없이도 하나 또는 그 이상의 시계 에뮬레이터를 단일 휴대폰과 페어링하여 Device Manager에서 Wear OS 기기를 볼 수 있습니다. 또한 Android Studio는 종료 후에도 페어링을 기억하므로 기기 페어링을 자주 반복할 필요가 없다는 점도 추가적인 장점입니다. 자세히 알아보세요.

Wear OS Emulator Pairing Assistant

  • Wear OS Emulator 툴바 - Android Emulator 툴바에 Wear OS의 물리적 기기에 맞춘 새로운 버튼과 상호 작용 기능이 도입되었습니다. 손바닥 제스처 같은 작업을 시작하거나 기기 기울이기를 시뮬레이션할 때 사용하실 수 있습니다. 자세한 내용은 에뮬레이터의 일반 작업을 참고하시기 바랍니다.

Wear OS Emulator Side Toolbar


  • Wear OS Direct Surface Launch - Wear OS 앱을 배포할 때, 특히 시계 모드 정보 표시 같은 기능에 대한 작업을 하는 경우, 때로는 앱을 적절한 상태로 만들기 어려울 수 있습니다. Android Studio Dolphin에서는 Android Studio에서 직접 적용할 수 있는 Wear OS 타일, 시계 모드, 정보 표시에 대한 실행/디버그 구성을 만들 수 있습니다. 자세히 알아보세요.

New Wear OS Run/Debug configuration types

Android Studio Dolphin의 새로운 개선 사항과 기능은 다음과 같습니다.

개발 도구

  • Intellij 2021.3 플랫폼 업데이트

  • Gradle Managed Virtual Devices

Jetpack Compose 도구

  • Compose Animation Inspector

  • Compose MultiPreview Annotations

  • Layout Inspector의 Compose Recomposition Counts

Wear OS

  • Wear OS Emulator Pairing Assistant

  • Wear OS Emulator 툴바

  • Wear OS Direct Surface Launch


Android Studio 출시 노트, Android Gradle 플러그인 출시 노트, Android Emulator 출시 노트에서 자세한 내용을 확인하실 수 있습니다.



시작하기

다운로드

다운로드 페이지에서 Android Studio Dolphin 최신 버전을 다운로드할 수 있습니다. 이전 버전의 Android Studio를 사용 중이라면 최신 버전으로 간단히 업데이트가 가능합니다. 안정적인 버전의 Android Studio를 유지하고 싶다면 Android Studio의 안정적인 버전과 카나리 버전을 동시에 실행할 수 있습니다. 자세히 알아보세요.

앞서 언급한 Android Emulator 기능을 사용하려면 Android Studio SDK Manager를 통해 다운로드한 Android Emulator v31.3.0 이상이 실행 중이어야 합니다.

마음에 드는 부분이나 궁금한 점, 원하는 기능에 대한 피드백은 언제든지 환영합니다. 버그나 문제를 발견한 경우에는 신고해 주시기 바랍니다. TwitterMedium에서 Android Studio 개발팀을 팔로우하고 실시간 소식을 확인해보세요.


이 글의 원문은 여기서 확인하실 수 있습니다.
작성자: Kat Kuan (Developer Relations Engineer, Android)


Jetpack Compose는 Android UI 개발을 단순화하는 Android의 최신 툴킷으로 Twitter, Airbnb, Google Play를 비롯한 전 세계 수천 개의 앱에서 이미 Jetpack Compose를 사용하며 개발하고 있습니다. 아직 접해보지 못하셨다면 Compose를 더 쉽게 배울 수 있도록 저희가 마련한 Compose Camp에 참여해 보시기 바랍니다. Compose Camp에서는 대면 및 비대면 학습 코스를 통해 개발자 커뮤니티와 함께 Jetpack Compose로 Android 앱을 제작하는 법을 배울 수 있습니다. “캠핑 장비”를 챙기고 가까운 Compose Camp를 찾아 등록해 보세요. 한국에서는 11월 1일부터 12월 9일까지, 6주간 Compose Camp가 열립니다. 여기에서 자세히 알아보고 등록하세요!

Jetpack Compose를 이용하면 작성하고 관리할 코드 수가 줄어 앱 개발 속도가 빨라집니다. 직관적이고 강력한 API를 통해 Android를 최대한 활용하고 뛰어난 사용자 경험을 제공할 수 있습니다. Google은 누구나 쉽게 Android 개발을 배울 수 있도록 최신 권장사항을 반영한 다양한 학습 방식을 제공하고 있습니다. 많은 개발자 여러분들이 여럿이 함께 배우는 방법이 매우 즐겁고 도움이 많이 되었다고 말씀해주셔서, 이번에 전 세계에 걸쳐 Compose Camp를 열게 되었습니다. Google Developer Groups(GDG), Google Developer Student Clubs(GDSC) 커뮤니티와 “캠프 리더”의 도움을 받아, 이번 기회를 통해 Compose로 Android 앱을 개발하는 법을 배워보시기 바랍니다.

 
초보부터 숙련된 개발자까지, 모두를 위한 Compose Camp 
Android 개발이나 프로그래밍 자체가 처음이시라면, 초심자 코스에서 기본적인 프로그래밍 개념과 앱 개발의 기초를 배워보세요. Jetpack Compose로 UI를 개발하는 법도 배울 수 있습니다.
View에서 Compose로 마이그레이션하거나 고급 기능을 이용해 UI를 구축하고 싶으신 Android 개발자 여러분을 위한 숙련자 코스도 마련되어 있습니다. Jetpack Compose의 핵심 기능을 배우고 더 다양한 정보를 자세히 알아보시기 바랍니다.
 
함께 배우면 더 재미있고 효과적입니다
많은 개발자 여러분께서 커뮤니티와 함께 배우면 더욱 효과적이라고 말씀 주신 바 있습니다. Google Developer Groups 커뮤니티에서는 업계의 여러 학생 및 개발자들과 소통하고, 함께 기술적 문제를 해결하며, 여러분의 프로젝트에 바로 적용 가능한 지식을 공유할 수 있습니다. 앞으로 몇 달간 Google 개발자 커뮤니티를 통해 전 세계에서 Compose Camp가 열릴 예정이며, 한국에서는 11월 1일부터 Compose Camp가 시작되니 여기에서 등록하여  함께하시기 바랍니다.
 
자신만의 Compose Camp를 이끌어 보세요!
Compose Camp에서는 "캠프 리더”가 되어 다른 개발자들을 이끌고 가르치며 여러분의 전문성을 높일 수 있는 좋은 기회이기도 합니다. 교육 자료, 세션 진행 방법, 프레젠테이션 샘플은 물론 참가자 모집용 자료까지, Compose Camp 주최에 필요한 모든 게 준비되어 있습니다.
 
자신만의 속도로 Compose 배우기
혼자 하는 “캠핑”을 선호하신다면, 자신만의 속도로 학습할 수 있는 온라인 교육 코스는 어떨까요? Android 개발이 처음이라면 Compose 사용 시 알아야 하는 Android 기본사항 코스를 추천해 드립니다. Android 개발 경험이 있다면 Android 개발자를 위한 Jetpack Compose 코스를 확인해보시기 바랍니다.


이번 Compose Camp가 Android 개발과 Compose를 배우려는 여러분들께 많은 도움이 되었으면 좋겠습니다. 곧 Compose Camp에서 뵙겠습니다!