Firebase와 Flutter를 사용하여 출시 시간을 절반으로 단축한 STAGE
소개
STAGE는 다양한 인도 방언과 언어를 지원하는 풍부한 기능을 갖춘 스트리밍 플랫폼입니다. 시부터 영화, 동기 부여 콘텐츠에 이르기까지 STAGE는 플랫폼에서 180만 명이 넘는 일일 활성 사용자에게 거의 모든 형태의 엔터테인먼트를 제공합니다.
도전과제
STAGE는 인도의 다양한 잠재고객에게 맞춤 콘텐츠를 제공한다는 사명을 달성하기 위해 iOS, Android, 웹, macOS, Android TV를 비롯한 다양한 플랫폼에 맞는 앱을 제공해야 했습니다. 하지만 소규모 개발팀으로서 경쟁이 치열한 스트리밍 시장에서 돋보일 수 있는 원활한 시청 환경을 제공하려면 콘텐츠를 안전하게 저장하고 사용자에게 실시간으로 제공할 수 있는 인프라를 갖춘 멀티 플랫폼 앱을 빌드하는 매우 효율적인 방법을 모색할 필요가 있었습니다.
해결책
팀은 한 달 동안 각 앱을 동시에 빌드하려고 노력한 끝에 Google Developer 그룹에서 Flutter에 관해 알게 되었습니다. 단일 코드베이스에서 모든 앱을 개발하여 상당한 시간을 절약할 수 있다는 점에서 유망한 솔루션으로 보였습니다. 또한 개발자가 앱에서 코드 변경 결과를 즉시 확인할 수 있는 핫 리로드와 같은 기능을 통해 더 빠르게 개발하고 간편하게 디버깅할 수 있다는 점에 대해서도 호평이 이어졌습니다. Flutter의 맞춤설정 가능한 풍부한 위젯 세트를 통해 아름답고 반응성 높은 사용자 인터페이스를 쉽게 빌드할 수 있습니다.
팀은 프런트엔드 및 백엔드 개발에 단일 프로그래밍 언어인 Dart를 모두 사용할 수 있기 때문에 Flutter가 학습하기에 매우 쉽다는 것을 알게 되었습니다. Flutter 커뮤니티는 STAGE의 소규모 개발자팀이 빠르게 적응하는 데 도움이 되었습니다.
STAGE는 전체 수명 주기 지원을 위해 Flutter의 프런트엔드 도구와 Firebase의 보완 백엔드 서비스를 결합하기로 했습니다. Firebase의 완전 관리형 백엔드 서비스를 사용하여 제품 출시 기간을 단축했고 실시간 데이터베이스와 Cloud Storage를 중심으로 콘텐츠를 실시간 저장, 동기화하고 사용자에게 제공하고 있습니다. 이는 특히 라이브 방송에 중요한 기능입니다. 인증을 사용하여 안전한 사용자 로그인 과정을 설정하고, Cloud Functions를 사용하여 백엔드 작업을 자동화하며, Google 애널리틱스를 통합하여 사용자 행동을 보다 잘 이해할 수 있게 되었습니다.
Firebase는 인프라 제품 외에도 앱 품질을 개선하고 비즈니스 성장을 촉진하는 도구도 제공합니다. STAGE팀은 테스트 및 모니터링 제품인 Test Lab과 Crashlytics를 사용하여 다양한 기기에서 앱의 우수하고 안정적인 성능을 보장하며, 클라우드 메시징과 같은 참여 제품을 사용하여 맞춤설정된 알림을 전송합니다.
최근 STAGE에서는 원격 구성 및 A/B 테스팅을 사용하여 여러 잠재고객 세그먼트를 대상으로 다양한 무료 체험 혜택을 평가했습니다. 원격 구성을 통해 앱 업데이트 없이도 사용자 행동과 선호도에 맞게 혜택을 맞춤설정하고 초기 통계를 기반으로 혜택을 최적화할 수 있었습니다. 테스트는 설정이 쉽고 실행이 빨랐으며 팀은 캠페인을 확장할 수 있는 최고의 혜택을 출시할 수 있었고, 덕분에 사용자 전환율이 25% 증가했습니다.
다음으로 STAGE에서는 Flutter와 Firebase를 사용하여 모든 기능을 갖춘 데스크톱 앱을 빌드할 계획이며 LG 및 삼성 TV도 곧 지원될 예정입니다.
결과
50% - 개발자 효율성 증가 보고됨
2배 - 더 빠른 앱 출시 주기
2배 - 더 빠른 기능 출시
"Flutter는 강력하고 유연한 모바일 개발 프레임워크로, Flutter의 다양한 내장 위젯과 도구를 통해 아름다우면서도 기능이 풍부한 멀티 플랫폼 앱을 쉽게 빌드할 수 있습니다. Firebase와 함께 사용하면 앱의 근간을 이루는 필수 인프라뿐만 아니라 품질을 개선하고, 사용자 참여를 유도하며, 새로운 아이디어를 안전하게 테스트할 수 있는 도구도 활용할 수 있습니다."
- Mirnal, Flutter Lead, STAGE