타다 클라이언트 개발기
두줄요약
짧은 출시 일정에 맞춰 Android·iOS 통합 팀이 RIBs 기반의 모바일 앱을 구축했습니다. ProtoBuf 자동화와 공통 아키텍처로 개발 효율을 높이고 후속 개선 과제를 정리했습니다.
문제 상황
- 3개월 반 안에 Android·iOS 라이더 앱과 Android 드라이버 앱 출시 필요
- 빈 저장소에서 시작하며 5명 통합 팀의 양 OS 병행 개발 필요
- 실제 차량 운영 검증을 위한 조기 알파 버전과 제한된 호출·하차 시나리오
구조와 흐름
- 지도 리소스 재할당 방지를 위한 Single-Activity Application 기반 화면 구성
- RIBs 기반 Router·Interactor·DI 구조와 화면 단위 로깅·전환 구현
- Protocol Buffer 중심 API 규약, 모델 코드 생성, gRPC 실시간 이벤트 수신
선택 이유
- Android·iOS 비즈니스 로직 구조 통일로 OS 전환 학습 부담과 협업 비용 절감
- RIB 단위 조립 방식과 명확한 데이터 scope·전달 방식 활용
- AndroidX·Kotlin, Swift, Rx 기반 비동기 처리와 Firebase·CI/CD 도구 조합
주의할 점
- 난해한 RIBs 이해와 비공개 구현 보완 과정에서 반복적 리팩터링 및 출시 일정 지연
- 테스트 코드 부재, OS별 구조 파편화, iOS 수동 DI와 전역 네트워크 오류 처리의 후속 과제
- 문자열 리소스 동기화·키 오타를 빌드 단계에서 검증할 관리 체계 필요




