Android App Bundle로 앱 크기를 56% 줄인 언어 학습 도구 Duolingo

Duolingo는 2011년부터 전 세계 수백만 명이 사용하는 재미있는 언어 학습 앱을 제공하고 있습니다. 현재 30개가 넘는 언어의 무료 학습 과정을 제공하고 있으며, 누구나 쉽게 다른 언어를 학습할 수 있는 환경을 제공하겠다는 목표를 가지고 노력하고 있습니다. 사용자 중 상당수가 저장용량이 넉넉하지 않은 엔트리 레벨 기기를 사용하고 있다는 점에서, 이러한 목표를 달성하려면 앱을 쉽게 로드할 수 있도록 만들어야 합니다. 그러나 여러 아키텍처의 네이티브 라이브러리 종속 항목이 요구되는 새로운 기능을 추가하자 앱 크기는 10MB에서 46MB로 대폭 늘어났습니다. 이로 인해 팀에서는 최대한 신속하게 앱 크기를 줄일 방법을 찾아야 했습니다.

진행한 작업

Duolingo는 Android App Bundle을 사용해 필요한 기능을 그대로 제공하면서도 앱 크기를 눈에 띄게 줄일 수 있었다고 설명합니다. 기존에 단일 APK를 사용했던 Duolingo는 다중 APK를 사용하는 방법을 연구해 보았지만, 그러려면 버전 코드와 파일 이름을 처리하기 위해 빌드 스크립트를 꽤 많이 변경해야 했습니다. 또한 개발자들을 대상으로 버전 관리를 위한 교육을 다시 실시해야 하는 번거로움도 있었습니다. 그러나 App Bundle을 사용하자 기존의 자동화된 스크립트를 거의 변경하지 않으면서 생성 및 업로드 작업도 쉽게 진행할 수 있었습니다.

Duolingo의 최고 매출 책임자인 밥 미즈는 이렇게 말합니다. "Android App Bundle로의 전환은 아주 간단했습니다. 기존에 사용하던 자동화된 빌드 스크립트는 이미 APK를 업로드할 수 있도록 작성되었기 때문에 팀에서 할 일은 App Bundle 업로드를 위한 지원을 추가하는 것뿐이었죠. 코드 몇 줄만 변경하면 되었어요."

테스트 절차도 간단했습니다. Duolingo팀은 내부 테스트 트랙을 사용했고, 이를 통해 테스트할 앱을 직원들에게 "매끄럽게" 배포했다고 미즈는 말합니다. 또한 특별한 작업 없이도 기존 사용자에게 앱을 쉽게 출시할 수 있었습니다.

결과

Duolingo는 Android App Bundle을 구현하면서 다운로드 크기를 46MB에서 20MB로 줄였다고 보고했습니다(56% 감소). 전 세계의 사용자가 무료로 언어를 학습할 수 있는 앱을 만들어야 하는 Duolingo에는 앱 크기가 매우 중요한 문제입니다. 미즈는 이렇게 말합니다. "App Bundle 덕분에 개발 속도를 늦추지 않으면서 앱 크기를 줄일 수 있었습니다."

ABI와 화면 밀도를 타겟팅하여 앱 크기를 줄이는 데 성공한 Duolingo는 이제 언어별로 App Bundle을 분할하려는 계획을 가지고 있습니다. 또한 App Bundle에 동적 기능 모듈을 추가하여 앱 크기를 더욱 줄이고 설치 시점이 아닌 사용자에게 필요할 때 요구에 따라 기능을 전송하는 옵션도 고려하고 있습니다.

시작하기

앱 및 게임 개발자는 지금 바로 Android App Bundle을 개발할 수 있습니다. 시작하기