Android 개발/Jetpack Compose

Jetpack Compose 업데이트, 진짜 '물건'은 따로 있었네요

stackD 2026. 5. 10. 18:00

 

폴더블 UI 테스트하려고 아직도 에뮬레이터를 껐다 켜고 계신가요? 이제 프리뷰 창 크기만 쭉 늘리면 10초 만에 끝나거든요. 이번 젯팩 컴포즈(Jetpack Compose) 업데이트, 진짜 핵심은 따로 있었습니다.

 

새 릴리즈 소식이 들리면 다들 그렇잖아요. 이것저것 신기한 기능부터 찾아보게 되죠. 저도 이번 업데이트 노트를 보면서 '오, AI 기능이 드디어?' 하면서 기대를 많이 했는데요. 막상 다 써보고 나니까, 진짜 제 퇴근 시간을 앞당겨줄 '물건'은 예상치 못한 곳에 숨어있더라구요.

 

화려한 기능 리스트보다는, 당장 제 개발 시간을 줄여준 실용적인 업데이트 3가지를 골라봤습니다.

 

1. 폴더블 UI 테스트, 에뮬레이터 없이 10초 만에

이건 진짜 경험해보셔야 해요. 예전에는 폴더블 기기에서 화면이 접혔을 때나, 태블릿의 분할 화면 모드에서 UI가 어떻게 보이는지 확인하려면 정말 번거로웠거든요. 에뮬레이터 기기 설정 바꾸고 재시작하고... 넉넉잡아 3~5분은 그냥 사라지곤 했습니다.

 

근데 이제 최신 안드로이드 스튜디오 프리뷰에 있는 'Resizable Preview' 기능 덕분에 이 작업이 10초면 충분해졌어요. 그냥 프리뷰 창 가장자리에 있는 핸들을 잡고 마우스로 쭉 늘리거나 줄이면, 화면 크기(dp)에 따라 실시간으로 반응형 UI가 어떻게 변하는지 바로 보여주거든요.

 

써보니까 정말 편하더라구요. 제 생각엔 이 기능 덕분에 QA 단계에서나 발견되던 자잘한 레이아웃 버그의 70% 이상은 개발하면서 바로 잡을 수 있을 것 같습니다. 폼팩터 대응을 하고 있다면 이건 무조건 써야 하는 기능이에요.

 

 

2. 화면 전환 디버깅, 이제 추측은 그만!

컴포즈 1.7부터 본격적으로 지원되기 시작한 Modifier.sharedElement()로 만드는 화면 전환(Shared Element Transition) 애니메이션, 정말 멋지죠. 근데 가끔 애니메이션이 살짝 어긋나거나 튀는 현상이 생기면 원인 찾기가 정말 까다로웠어요. 로그 찍어가면서 좌표 계산하고, '여긴가?' 하면서 패딩 값 바꿔보고... 거의 추측성 코딩에 가까웠습니다.

 

그런데 **레이아웃 인스펙터(Layout Inspector)**와 **애니메이션 미리보기(Animation Preview)**에 강화된 시각적 디버깅 도구가 이 고통을 끝내줬습니다. 이 옵션을 켜면 애니메이션이 진행되는 동안 컴포넌트의 시작과 끝 경계(Bounds)가 화면에 궤적처럼 그대로 표시되거든요. 어디가 문제인지 직관적으로 바로 확인할 수 있다는 얘기입니다.

 

실제로 제가 겪었던 미세한 클리핑(Clipping) 오류로 인한 2dp 어긋남 현상을 이걸로 5분 만에 잡았어요. 예전 같았으면 최소 반나절은 붙잡고 있었을 문제더라구요. 이걸로 버그 수정 시간이 80%는 줄어든 것 같아요.

 

 

3. 트랙패드 지원, '된다'에서 '제대로 된다'로

'트랙패드 지원이 그렇게 중요한가?' 싶을 수도 있습니다. 하지만 이게 크롬북이나 대화면 안드로이드 태블릿을 쓰는 분들에게는 앱의 전체적인 사용 경험을 좌우하는 요소가 되기도 하거든요.

 

사실 Modifier.onTrackpadEvent()라는 이름의 단일 API가 뚝딱 생긴 건 아니지만, 최근 업데이트를 거치며 pointerInput API 내에서 트랙패드 고유의 이벤트(PointerEventType.Scroll 등)를 네이티브 수준으로 정교하게 처리할 수 있게 크게 개선됐거든요. 예전에는 핀치 줌이나 두 손가락 패닝 같은 제스처를 포인터 이벤트로 일일이 계산해 구현하려면 30줄이 넘는 복잡한 코드가 필요했어요. 근데 이젠 관련 제스처 API들의 지원 범위가 넓어져서 5줄이면 충분하더라구요.

 

단순히 기능을 추가하는 걸 넘어서, 마우스나 트랙패드 같은 다양한 포인팅 장치를 사용하는 모든 사용자들의 접근성을 높여준다는 점에서 아주 의미 있는 업데이트라고 봅니다.

 

아직은 섣부른 기대, AI 코딩의 함정

솔직히 이번 업데이트에서 가장 기대했던 건 안드로이드 스튜디오(Jellyfish 버전 이후)에 깊숙이 통합된 'Gemini' AI였습니다. 대규모 컨텍스트를 이해하는 1.5 Pro 모델이 적용되면서 자연어 프롬프트나 주석으로도 UI 코드를 꽤 그럴싸하게 자동 생성해준다고 해서 생산성이 폭발적으로 오를 줄 알았죠.

 

하지만 실험적으로 써본 결과, 아직은 신중하게 접근해야 한다는 결론을 내렸습니다. 테스트해보니 간단한 스크린이나 보일러플레이트 UI 생성 능력은 정말 뛰어났어요. 하지만 저희 팀만의 복잡한 커스텀 디자인 시스템이나 내부 코드 컨벤션까지 완벽하게 이해하고 짜주지는 못하더라고요. 결국 AI가 만든 코드를 우리 프로젝트에 맞게 일일이 리팩토링해야 했는데, 이 시간이 차라리 처음부터 직접 짜는 것보다 더 오래 걸릴 때도 있었어요.

 

자칫 잘못하면 '생산성 함정'에 빠질 수 있겠다는 생각이 들었습니다. 물론 프로젝트 컨텍스트를 더 잘 이해하도록 AI가 발전하면 정말 유용해지겠지만, 지금 당장 모든 것을 맡기기보다는 코드 리뷰나 반복 작업 자동화 같은 보조 도구로 활용하는 것이 현명해 보입니다.

 

 

마치며

이번 업데이트를 쭉 살펴보면서 느낀 점은 명확합니다. 화려하고 거창한 AI 기능보다는, 당장 내 개발 과정의 불편함을 덜어주고 렌더링 디버깅 시간을 10분이라도 줄여주는 소소하지만 탄탄한 개선들이 훨씬 더 와닿는다는 점입니다.

 

반짝이는 새 기능에 현혹되기보다는, Resizable Preview를 활용한 폴더블 테스트나 인스펙터를 통한 애니메이션 디버깅처럼 매일 부딪히는 문제를 해결해주는 도구부터 확실하게 챙기는 것이 현명한 선택이라고 생각해요. 진짜 생산성을 높이는 방향을 잘 잡아야겠습니다.