티스토리 뷰

 

어느 날, 저는 제 아내인 플러터짱과 잠시 이별을 고한 채 Jetpack Compose로 이것저것 만지작거리다가 문득 Material 디자인의 고질적인 문제인 “사용자 정의가 매우 부족하다”는 사실을 깨달았습니다. 사실, 저는 Material이라는 이 거대한 종속성 덩어리를 그다지 좋아하지 않습니다.

그래서 애초에 Flutter의 CustomScrollView를 써도 발생하는 중첩 스크롤 지옥(제스처 지연 문제)과 복잡성 그리고 제한되어 템플릿화 되어 있는 레이아웃 구조를 해결하고자, 직접 flutter_appbar 같은 패키지를 만든 기억이 나네요. (플러터에 공식적으로 제스처 관련된 문제에 기여하려는 시.도.는. 했으나, 플러터는 관련 테스트만 무려 1.7만 개가 정도 될 정도로 매우 엄격합니다. 네, 한마디로 머리가 ㅈㄴ 아픕니다. 그리고 최근 PR 리뷰를 받고 있는데, 이건 좀 귀찮지만 할만한 것 같습니다.)

마찬가지로 Jetpack Compose에서는 Material 종속성 없이, 커스터마이징에 매우 유리하지만 별다른 종속성이 필요 없는 앱바를 설계했고, 이를 패키지 형태로 사용하기 위해 1년 전 깃허브에 잠시 올려두다가— 그만... 까먹어버렸습니다. 제 아내인 플러터짱과 사별하기 싫었는지 금방 Jetpack Compose에게 이별을 고한 것입니다. (ㅠㅠ)

 

농담은 여기까지 하고 이제 본론으로 들어가면, 1년 전 묶혀둔 compose_appbar 라는 패키지가 생각나 시간도 넉넉하고 Maven Repository에도 한 번 올려보고 싶었기 때문에 이것저것 배포를 위한 세팅을 하고, 그것도 할겸 좀 많이 지저분한 커밋들을 깔끔하게 한개로 병합시키고, 패키지를 Maven Central에 배포하였습니다.

 

그리고 얼마 지나지 않아, jetc.dev의 Newsletter Issue #266에서 제 패키지가 소개되었다는 사실을 알게 되었습니다.

 

그리고 그 순간, 제 두 눈을 의심했습니다.

 

사실 처음엔 “설마 소개되겠어?” 하는 마음으로 가볍게 배포했기 때문에, Jetc 뉴스레터에서 살짝 소개되는 compose_appbar의 이름을 봤을 때는 꽤 놀랐고, 동시에 약간 감격스럽기도 했습니다. 단순히 개인 용도로 만들었던 것이 누군가에게는 필요했던 구성 요소였다는 사실이, 작은 보람으로 조금 다가왔달까요...?

 

이 일을 계기로 "앞으로는 질 높은 문서화를 위해 더 열심히 영어 공부를 해보는 것도 나쁘진 않겠다" 라는 생각이 들었습니다. 그동안은 ‘어차피 나만 쓰는 건데 뭐’라는 마음으로 만들고 던져뒀던 코드들이 사실 꽤 많았거든요.

그래서 이번 경험이 좋은 자극이 되었고, 그래서 지금은 compose_appbar의 구조도 조금 더 개선해보고, 문서도 정리해서 다른 사람들도 더 편하게 쓸 수 있도록 손을 보려고 기획하고 있습니다.

혹시 관심 있으신 분들은 한 번 써보시고, 피드백 주시면 정말 감사하겠습니다 🙏
저는 다시 플러터짱 곁으로 돌아갈 예정이지만… Compose도 가끔씩은 들릴 예정이긴하지만 플러터짱이 더 귀엽기 때문에 우선순위가 높습니다.

 

감사합니다.

 

 

jetc.dev Newsletter Issue #266

Google I|O 2025! KotlinConf 2025! Compose and Compose Multiplatform updates! Motion physics in Material3 Expressive!

jetc.dev

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함