Compose 3

최근 안정화된 Compose API, MeshGradient 말고 매일 쓸 3가지

화려한 MeshGradient보다 따분한 lint 경고 하나가 팀 전체 성능 기준을 바꿔놓습니다. 이번 릴리즈의 진짜 가치는 제일 눈에 안 띄는 API 세 개에 있더라구요. 젯팩 컴포즈(Jetpack Compose)의 최근 업데이트 내역을 처음 봤을 때, 솔직히 MeshGradient에 잠깐 눈이 갔습니다. 그런데 릴리즈 노트를 조금 더 읽다 보니까, 매일 손 가는 코드 문제들을 건드린 변경사항 세 개가 눈에 띄더라구요. 직렬화 보일러플레이트, 재컴포지션 성능 버그, 서비스에서의 다이얼로그 처리 — 다들 한 번씩은 머리를 싸맨 지점들이에요. 이런 기능들은 과거에 소개된 이후 이제는 안정화되어 더 편하게 쓸 수 있게 되었죠. rememberSerializable + KSerializer: Parcelabl..

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

폴더블 UI 테스트하려고 아직도 에뮬레이터를 껐다 켜고 계신가요? 이제 프리뷰 창 크기만 쭉 늘리면 10초 만에 끝나거든요. 이번 젯팩 컴포즈(Jetpack Compose) 업데이트, 진짜 핵심은 따로 있었습니다. 새 릴리즈 소식이 들리면 다들 그렇잖아요. 이것저것 신기한 기능부터 찾아보게 되죠. 저도 이번 업데이트 노트를 보면서 '오, AI 기능이 드디어?' 하면서 기대를 많이 했는데요. 막상 다 써보고 나니까, 진짜 제 퇴근 시간을 앞당겨줄 '물건'은 예상치 못한 곳에 숨어있더라구요. 화려한 기능 리스트보다는, 당장 제 개발 시간을 줄여준 실용적인 업데이트 3가지를 골라봤습니다. 1. 폴더블 UI 테스트, 에뮬레이터 없이 10초 만에이건 진짜 경험해보셔야 해요. 예전에는 폴더블 기기에서 화면이 접혔을..

무작정 최신 API로 바꾸면 안 되는 이유 (feat. Compose FlowRow vs LazyVerticalGrid)

얼마 전 깃허브에 올라온 팀 후배 PR을 리뷰하다 멈칫했습니다. 상품 그리드 코드 전체가 FlowRow 기반의 커스텀 레이아웃으로 바뀌어 있었거든요. 커밋 메시지엔 "Compose 최신 API로 반응형 레이아웃 교체"라고만 달려 있더라구요. 코드를 잠깐 들여다보고는, 바로 'Request Changes(수정 요청)'를 남길 수밖에 없었네요. 최근 컴포즈(Compose)에서 FlowRow와 ContextualFlowRow의 기능이 대폭 강화되면서 "이제 복잡한 LazyVerticalGrid는 구식 API 아니냐, 덜 써도 되는 것 아니냐"는 분위기가 생긴 건 저도 느끼고 있었습니다. 다만 그 판단이 좀 성급하다고 봅니다. 각각의 API는 애초에 다른 문제를 풀기 위해 설계된 거거든요. LazyVertica..