
프론트엔드
쏘카프레임 - 블루투스 모듈
두줄요약
쏘카가 앱으로 차량과 이동수단을 제어하기 위해 공통 블루투스 추상화 계층인 쏘카프레임을 설계한 사례를 소개했습니다. iOS와 Android의 차이를 흡수해 확장성, 테스트 용이성, 재사용성을 높였습니다.
핵심 내용
- 쏘카, 일레클, 따릉이에서 공통으로 쓰는 블루투스 모듈 쏘카프레임 소개
- iOS, Android의 파편화된 블루투스 API 위에 추상화 계층을 얹어 기기 맥락과 플랫폼 차이를 통합
- BluetoothHost, BluetoothRemote, BluetoothHandle, BluetoothSpec으로 스캔, 연결, 명령 송수신, 생명주기 관리 분리
- 수평/수직 확장성, 테스트 용이성, 비즈니스와 인프라 분리, 오픈소스 가능성 확보
적용해볼 점
- 기기별 분기와 콜백 파편화를 모듈 내부로 숨기는 추상화 설계
- 정적 정체성과 동적 행동 지침을 분리해 관리하는 구조
- 플랫폼 차이를 호스트/리모트 수준에서 흡수하는 통합 인터페이스 구성
