Compose를 사용하여 개발자 효율성과 속도 증가를 확인한 Twitter

트위터는 가장 널리 사용되는 소셜 미디어 플랫폼 중 하나로, 사용자는 이를 통해 언제든지 세상에서 일어나는 일을 확인할 수 있습니다. 엔지니어링팀은 Jetpack Compose를 사용하여 디자인 시스템을 현대화하기 시작했습니다.

진행한 작업

Twitter 앱의 UI 구성요소와 테마 설정 시스템은 약 10년 전에 개발되었으며 상당한 유지보수 작업이 필요한 기존 구성요소로 구성되어 있었기 때문에 엔지니어링팀은 사용과 유지관리가 쉬운 스테이트리스(Stateless) UI 구성요소와 직관적인 구현, 확장, 맞춤설정이 가능한 확장 가능한 새로운 디자인 시스템을 빌드하고자 했기 때문에 Compose를 사용하기로 결정했습니다.

팀은 내부 디자인 시스템을 사용하고 기존 설정에 종속되지 않는 새로운 화면에 Compose를 도입하여 구성요소별 교체를 시작했습니다.

결과

Compose는 개발자 속도, 개발자 만족도, UI 코드/구성요소 유지보수성을 개선하고자 하는 목표에 확실한 해답을 제공했습니다. Compose를 사용하기 시작한 후 트위터 엔지니어는 '정말 멋져요. 내부적으로는 Android UI 2.0이라고 하며 이로 인해 레거시 뷰 시스템으로 다시 살펴보기가 매우 어렵습니다. 덕분에 Compose로 특별히 개발한 항목의 효율성과 속도가 향상되었습니다.”

개발 및 실험 속도가 개선되었습니다. “Compose에서 채택한 모든 항목의 디자인 변경사항이 이전보다 훨씬 빨라졌습니다. 또한 제품 변경사항 내에서 대대적으로 실험을 하므로 Compose와 Kotlin으로 작성할 때 훨씬 더 효과적이고 빠르게 진행됩니다.”

개발자가 작성하는 코드는 보다 직관적일 뿐만 아니라 더 빠르게 작성하고 읽기도 쉽습니다. “또한 테마 설정 레이어가 훨씬 더 직관적이고 읽기 쉽습니다. 여러 레이어로 구성된 테마 오버레이를 통해 속성 정의 및 할당을 담당하는 여러 XML 파일로 확장되어 단일 Kotlin 파일 내에서 이 작업을 할 수 있었습니다. Compose 컨텍스트 내에서 전체 테마 설정 구조를 재구현하는 데 며칠에서 몇 주밖에 걸리지 않았으며, 이미 기존의 테마 시스템보다 훨씬 강력하고 직관적임이 입증되었습니다.”

시작하기

Compose에 관해 자세히 알아보세요.