Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Zillow는 Android 아키텍처 구성요소를 사용해 명확한 코드를 새롭게 작성합니다.

Zillow는 최고의 온라인 부동산 마켓플레이스이며, 고객에게 주택 구매, 임대, 판매 시 필요한 목록, 데이터, 계산기 기능을 제공합니다. 또한 Zillow는 사용자와 현지 대리인, 주택 담보 대출 제공업체, 주택 설계자를 연결해 줍니다.

2006년에 창립되었으며 시애틀에 본사를 두고 있는 Zillow는 1억 1천만 개가 넘는 미국 주택의 데이터베이스를 관리하고 있습니다. 또한 20개가 넘는 모바일 부동산 앱을 운영하고 있기도 합니다. 2017년 7월 Android 모바일 앱 코드에 관한 대대적인 수정 작업을 시작한 Zillow는 새로운 팀원이 이해하기 쉽도록 가독성이 높고 알기 쉽게 코드를 변경해 개발자들을 돕고자 했습니다.

무엇을 했나

Zillow에서는 Android 아키텍처 구성요소를 사용해 코드를 개선했습니다. Zillow의 소프트웨어 엔지니어인 Aayush Raj는 “우리는 여러 가지 종류의 아키텍처를 살펴보고 있었습니다. 아키텍처 구성요소를 사용함으로써 수명 주기를 인지할 수 있게 되어 코드 관리가 훨씬 쉬워졌습니다."라고 말합니다.

ViewModel을 사용하면 화면 회전과 같이 구성을 변경할 때도 데이터를 유지할 수 있으며 LiveData는 식별 가능한 데이터 홀더 클래스입니다. Zillow에서는 이 두 가지 클래스를 모두 사용하여 MVVM(Model-View-ViewModel)을 구현할 강력한 템플릿을 마련했습니다. Raj는 "코드 테스트가 훨씬 쉬워졌습니다."라고 말합니다. Room 영구성 라이브러리 또한 로컬 캐시 레이어를 쉽게 개발하는 데 도움을 주었습니다. 그 결과 Zillow 앱이 네트워크에서 데이터를 불러와야 하는 빈도수가 줄어들어 '성능 및 사용자 환경이 개선'되었습니다.

결과

Raj는 데이터 업데이트용 코드 중 많은 부분을 활동에서 ViewModels로 옮기는 작업이 전체 코드베이스의 가독성을 개선하는 데 "확실히 도움을 주었다"고 말합니다. Zillow에서 전체 앱을 ViewModel로 전환한 것은 아니지만, ViewModel을 사용하는 구성요소에서는 수명 주기 관련 버그가 발생하지 않았습니다. 데이터 업데이트를 활동 및 프래그먼트에 전달하는 과정도 효과적으로 작동하고 있습니다.

Zillow의 수석 소프트웨어 개발 엔지니어인 Sumiran Pradhan은 "Android 아키텍처 구성요소를 사용하면 개발자의 생산성이 확실히 향상됩니다."라고 말합니다. 아키텍처 구성요소는 코드를 처음 작성할 때 지침을 제공하지만 기존 코드베이스에도 유용하게 사용할 수 있습니다. Pradhan은 "새로운 개발자가 ViewModel에 있는 로직을 이해하고 나면 모두 ViewModel을 좋아합니다."라고 말합니다.

시작하기

Android 아키텍처 구성요소는 Android Jetpack의 일부이며 모든 개발자에게 공개되어 있습니다. Android 아키텍처 구성요소를 사용해 보세요.