트위터는 가장 널리 사용되는 소셜 미디어 플랫폼 중 하나로, 사용자는 트위터를 통해 항상 세상에서 어떤 일이 일어나고 있는지 파악할 수 있습니다. 엔지니어링팀은 Jetpack Compose를 사용하여 디자인 시스템을 현대화하기 시작했습니다.
진행한 작업
Twitter 앱의 UI 구성요소와 테마 시스템은 약 10년 전에 개발되었고 막대한 유지보수 작업이 필요한 기존 구성요소로 구성되었기 때문에 엔지니어링팀은 사용 및 유지관리가 쉽고 구현, 확장, 맞춤설정이 직관적이고 확장 가능한 스테이트리스(Stateless) UI 구성요소를 갖춘 새로운 확장 가능한 디자인 시스템을 빌드하고자 했습니다. 그래서 Compose를 사용하기로 결정했습니다.
팀은 내부 디자인 시스템을 통해 구성요소별로 교체하고 기존 설정에 종속되지 않는 새 화면에 Compose를 도입했습니다.
결과
Compose는 개발자 속도, 개발자 만족도, UI 코드/구성요소 유지보안성을 개선한다는 목표에 대한 확실한 해답을 제공했습니다. Compose를 사용하기 시작한 Twitter 엔지니어는 Compose를 “한마디로 놀라운 도구입니다. 내부적으로는 이를 Android UI 2.0이라고 부르며, 이로 인해 기존 뷰 시스템을 다시 살펴보기가 매우 어렵습니다. 특히 Compose에서 개발한 제품의 효율성과 속도가 향상되었습니다.”
개발 및 실험 속도가 개선되었습니다. 'Compose에서 채택한 모든 항목의 디자인 변경사항 처리 속도가 이전보다 훨씬 빨라졌습니다. 또한 제품 변경사항 내에서 실험을 많이 진행하며, Compose 및 Kotlin으로 작성하면 훨씬 더 쉽고 빠르게 실험할 수 있습니다."
개발자가 작성하는 코드는 더 직관적일 뿐만 아니라 더 빠르게 작성하고 읽기도 쉽습니다. “또한 우리의 테마 레이어는 훨씬 더 직관적이고 읽기 쉽습니다. 우리는 단일 Kotlin 파일 내에서 여러 레이어의 테마 오버레이를 통해 속성 정의 및 할당을 담당했던 여러 XML 파일로 확장할 수 있었습니다. Compose 컨텍스트 내에서 전체 테마 구조를 다시 구현하는 데 며칠에서 몇 주밖에 걸리지 않았으며, 기존 테마 시스템보다 훨씬 더 강력하고 직관적임이 이미 입증되었습니다."
시작하기
Compose에 대해 자세히 알아보세요.