목록 보기
타다 클라이언트 개발기
프론트엔드

타다 클라이언트 개발기

타다
타다
2019년 5월 8일

두줄요약

짧은 출시 일정에 맞춰 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와 전역 네트워크 오류 처리의 후속 과제
  • 문자열 리소스 동기화·키 오타를 빌드 단계에서 검증할 관리 체계 필요

다음 읽기

#Kotlin 주제를 이어서 읽기

타다 시스템 아키텍처

타다는 빠른 출시를 위해 Kotlin·Spring Boot와 AWS 관리형 서비스를 중심으로 시스템을 구성했습니다. SQS 배차, Kinesis 위치 수집, gRPC 실시간 이벤트로 모빌리티 흐름을 분리·확장했습니다.

타다
타다
아키텍처
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...