목록 보기
Jetpack Compose로 LINE 앱 Yahoo!검색 모듈 개발하기
프론트엔드

Jetpack Compose로 LINE 앱 Yahoo!검색 모듈 개발하기

라인
라인
2023년 10월 11일

두줄요약

LINE 앱 Yahoo!검색 모듈에 Jetpack Compose를 전면 도입한 사례를 소개했습니다. 상태 일원화, 스테이트리스 설계, Preview 표준화로 안정성과 협업 효율을 높였습니다.

핵심 내용

  • LINE Android의 Yahoo!검색 모듈 UI를 Jetpack Compose로 전면 제작한 도입 사례
  • 명령형 UI의 상태 관리 복잡성과 Compose의 선언형 방식 장점을 비교하며 도입 배경 설명
  • 안정성을 위해 새로 만드는 모듈에만 적용하고, 사용 컴포저블의 이슈 여부를 사전 검토

구조와 흐름

  • ViewModel에서 UI 상태를 일원화하고 StateFlow로 외부 노출
  • 상위 컴포저블이 상태를 구독해 하위 컴포저블에 전달하는 구조 구성
  • 자식 컴포저블은 상태를 직접 갖지 않는 스테이트리스 패턴으로 설계

선택 이유

  • 일부 뷰만 Compose로 섞으면 유지보수 비용이 커질 가능성 고려
  • LazyColumn과 TextField 등 사용 예정 컴포저블의 안정성 이슈를 먼저 확인
  • TextField는 AndroidView로 기존 EditText를 사용할 수 있는지 검토 후 도입 결정

적용해볼 점

  • 컴포저블 상태별 미리 보기와 다크 모드 미리 보기 표준화
  • PR에 미리 보기와 디자인 스펙을 함께 첨부해 리뷰 효율 개선
  • 컴포저블 설계 시 상태 호이스팅과 Preview 활용을 우선 고려

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...