에어비앤비 기술 블로그 - 미디엄

트리오 소개 | 3부

Follow
에어비앤비의 제트팩 컴포즈 화면 아키텍처를 위한 트리오(Trio) 아키텍처는 상태 관리를 위해 매버릭스(Mavericks)를 활용합니다. 트리오의 Props는 뷰모델 간의 단순화되고 타입 안전한 통신을 제공합니다. Props는 부모 트리오에서 자식 트리오로 전달되는 데이터 클래스로, 코틀린 속성으로 구성되어 있으며 트리오의 수명주기 동안 동적으로 데이터를 교환할 수 있습니다. 부모 트리오는 자식 트리오의 Props를 정의하여 호환성과 컴파일 타임 정확성을 보장합니다. Props에는 람다 표현식이 포함될 수 있으며, 자식 화면이 부모에게 통신할 수 있습니다. Props를 전달하기 위해 부모 트리오는 launchChildInitializer 함수를 사용하여 자식 트리오의 수명주기를 관리하고 프로세스 재생성 후 Props를 다시 설정합니다. 자식 뷰모델은 updateStateFromPropsChange 함수를 통해 Props 변경에 따라 상태를 업데이트합니다. 비상태 Props 값은 props 속성을 통해 액세스할 수 있습니다. 트리오의 ScreenFlow 기능은 Props를 통해 자식 화면 간의 스크린 스택 관리를 자동화하고, 상태 및 탐색 함수를 공유합니다. 에어비앤비 안드로이드 팀은 트리오를 성공적으로 구현하여 개발 주기를 단축하고 코드 품질을 개선했습니다.
favicon
medium.com
Introducing Trio | Part III