뱅크샐러드 안드로이드 앱에서 Koin 걷어내고 Hilt로 마이그레이션하기
스토리 · 뱅크샐러드 테크 · 2022.04.09
뱅크샐러드 안드로이드 팀이 기존에 사용하던 DI(의존성 주입) 도구인 Koin을 Dagger Hilt로 마이그레이션한 상세한 기술 사례를 공유합니다. Koin은 러닝커브가 낮고 Kotlin 환경에 적합하다는 장점이 있지만, 런타임 시 의존성을 주입하는 Service Locator 패턴을 사용하기 때문에 컴파일 타임에 오류를 검증할 수 없고 런타임 성능 저하 및 멀티모듈 환경에서의 의존성 관리 어려움이라는 단점이 있었습니다. 이를 해결하기 위해 뱅크샐러드 팀은 컴파일 타임에 의존성을 검증할 수 있는 Hilt를 도입하기로 결정했습니다. 마이그레이션 과정에서 겪은 중복 인스턴스 생성 문제, Fragment Context 관련 이슈, 그리고 동적 파라미터 주입의 어려움 등 실질적인 기술적 난관들과 그 해결책을 상세히 다루고 있습니다. 또한, 성공적인 마이그레이션을 위해 수립한 계획과 가이드라인 작성 과정도 포함되어 있어, 안드로이드 개발자분들에게 매우 유익한 인사이트를 제공합니다.