eBay 의 WebAssembly 활용 사례: 모바일 웹 바코드 스캐너

Source

  • Evernote/Inbox/WebAssembly at eBay A Real-World Use Case - eBayTech - Medium.md

Summary

이 문서는 eBay 가 모바일 웹 환경에서 바코드 스캐너 기능을 구현하기 위해 WebAssembly(Wasm) 를 도입한 배경과 초기 상황을 설명합니다. 기존 네이티브 앱(iOS/Android) 은 C++ 라이브러리를 통해 고성능의 바코드 스캔을 지원했으나, 모바일 웹에서는 JavaScript 기반 솔루션의 성능 불안정성 (성공률 20%, 나머지 80% 에서 지연 또는 타임아웃) 으로 인해 기능이 제한되었습니다. eBay 는 Shape Detection API 와 같은 표준 웹 API 가 아직 미성숙한 상황에서, 일관된 네이티브 수준의 성능을 보장할 수 있는 대안으로 WebAssembly 를 검토하게 되었습니다. 이 기술 도입의 핵심 동기는 개발자의 편의가 아닌, 판매자의 목록 작성 과정을 원활하게 하는 사용자 경험 (UX) 개선에 있습니다.

Key Points

  • eBay 는 WebAssembly 1.0 출시 후 이커머스 환경에서의 구체적인 활용 사례를 모색했으나, 초기에는 명확한 가치 제안이 부족했습니다.
  • 네이티브 앱은 C++ 기반의 고성능 바코드 스캐너를 지원하지만, 모바일 웹 사용자는 수동 UPC 입력의 불편함을 겪고 있었습니다.
  • 이전 JavaScript 기반 웹 스캐너는 JIT 컴파일러의 최적화 의존성으로 인해 성능이 불안정하여 (20% 성공률) 서비스 중단되었습니다.
  • 표준 웹 API(Shape Detection API) 가 아직 크로스 브라우저 호환성이 부족하여, 일관된 성능을 위해 WebAssembly 도입을 결정했습니다.
  • 기술 도입의 최우선 원칙은 ‘고객에게 제공하는 잠재적 가치’이며, 사용자 경험이 개발자 경험보다 우선합니다.