FuelBuddy의 고객용 앱은 프로그레시브 웹 앱(PWA)으로 시작했다. Android에서는 잘 작동했지만 iPhone에서는 벽에 부딪혔다. Apple은 웹 앱이 자사의 WebKit 엔진에서만 돌게 허용하고 그들을 이류 취급한다 — 홈 화면 설치가 불안정하고, 저장 공간이 제한되며, 믿을 만한 푸시 알림이 없다 — 심지어 홈 화면 웹 앱을 iOS에서 아예 없애려는 움직임까지 있었다. FuelBuddy 입장에서 이는 PWA가 사실상 iPhone 사용자를 감당할 수 없다는 뜻이었고, 네이티브 앱이 그들에게 도달할 유일하게 믿을 만한 방법이었다. 나는 이 앱을 React Native로 다시 작성한 엔지니어링 팀의 일원이었다.
내가 작업한 것
- PWA에서 React Native로: 앱을 컴파일되는 React Native 애플리케이션으로 다시 작성했고, 감싼 웹 페이지가 아니라 iOS와 Android 양쪽에서 네이티브처럼 느껴지도록 모바일 UI에 집중했다.
- 스택 전반에 걸친 작업: 주된 초점은 모바일 프론트엔드였지만, 어떤 기능에 새 데이터 엔드포인트가 필요할 때는 Hasura의 GraphQL 엔진 위에 CRUD API를 직접 만들었다. 그래서 다른 팀을 기다리느라 작업이 멈추지 않았다.
- 팀과 함께 출시: 다른 개발자, 제품 오너들과 긴밀히 협업해 요구사항을 완성된 기능으로 바꾸고 릴리스가 계속 굴러가게 했다.
왜 중요했나
네이티브로 전환하면서 FuelBuddy는 믿을 수 없던 플랫폼에서 벗어났고, iPhone과 Android 양쪽 고객 앞에 하나의 일관된 앱을 놓을 수 있었다. 스택 전반에서 손을 보탠 덕분에 팀은 릴리스 속도를 유지할 수 있었다.