본문으로 이동
웹앱 서비스 히스토리를 관리하기 위한 여정 #우아콘2021 #둘째날_새로운여정
컨퍼런스

웹앱 서비스 히스토리를 관리하기 위한 여정 #우아콘2021 #둘째날_새로운여정

우아콘 2021 우아한형제들 · YouTube

원문 보기

AI 핵심 요약

앱 버전과 OS에 따라 웹뷰 브릿지 규칙이 달라지면서 화면마다 조건문과 중복 로직이 쌓이는 문제가 있었다. 이를 해결하기 위해 딥링크·브릿지·앱 스토리지 등의 통신 규격과 버전별 설정을 한곳에서 관리하는 TypeScript 라이브러리 B-WAP을 만들었다. 설정을 공통 포맷으로 정규화하고 OS별 전략 패턴으로 실행 방식을 분리했으며, 제네릭과 타입 추론을 활용해 사용처에서 자동완성과 타입 지원을 받을 수 있게 했다. 명세와 사용처를 중앙화하고 역할별 레이어를 나누면 히스토리 관리와 변경 대응이 쉬워지지만, 웹뷰가 뜨기 전의 오류 처리는 앱과 별도로 협의해야 한다.

  • 딥링크는 화면 이동, 딥링크 액션은 페이지 관련 동작, 브릿지는 앱 기능·데이터 통신, 앱 스토리지는 화면 간 데이터 공유로 역할을 구분한다.
  • 버전별 설정은 기본값과 버전 분기값을 분리하고, OS별 차이는 설정 데이터와 전략 패턴으로 다룬다.
  • 설정값을 공통 포맷으로 정규화한 뒤 현재 OS와 앱 버전에 맞는 값을 선택하면 사용처의 조건문을 줄일 수 있다.
  • TypeScript의 제네릭과 타입 추론을 활용해 설정 명세에서 사용 메서드까지 자동완성을 제공하고, 공개 API와 래퍼에는 주석·문서화를 보완한다.
  • 웹뷰가 뜨기 전 발생하는 오류는 웹에서 처리하기 어려우므로, 앱과 에러 콜백 등 오류 전달 규칙을 미리 합의해야 한다.

소개

모바일 웹앱 서비스에서 웹은 앱의 버전에 따라 다양한 히스토리를 관리하게 됩니다. 웹과 앱이 통신하는 중간에서 다양한 버전 별로 존재하는 앱의 기능을 어떻게 관리할 수 있을까요? B마트에서 이러한 버전 관리를 진행하기위한 여정을 공유합니다. [발표자 소개] 마광휘, B마트서비스팀 아키텍쳐와 팀 문화에 관심이 많은 개발자 마광휘입니다. 한 파트에 한정되지 않은, 여러 도메인을 다루며 문제를 해결할 수 있는 사람이 되고자 노력합니다.

비슷한 학습 자료

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 배민커넥트앱은 라이더의 안전한 운행을 위해 시간제보험, 정산, 본인인증, 실명확인, 계좌검증, 운전면허검증 등 다양한 서드파티와 함께 서비스를 만들어나가고 있어요. 잘 만든 서비스도 에러가 발생하기 마련인데, 낯선 서비스를 100% 믿는 것이란 어려운 일이죠. 그래서 우리는 서드파티 서비스를 더 꼼꼼하게 살펴보기로 했어요. 다양한 파트너와 함께 믿을 수 있는 서비스를 만드는 과정을 함께 알아가 볼까요?ㅤ ㅤ 👉 발표자 소개 라이더플랫폼팀 김형준 배민커넥트앱의 서버를 개발하고 있는 백엔드 개발자입니다. 시간제 보험, 정산, 본인 인증, 실명 확인, 운전면허 등 다양한 서드 파티와 함께 안정적인 서비스를 만들고 있습니다. 라이더플랫폼팀 김도원 서버 개발 일꾼입니다. 항상 즐겁게 개발하고 있습니다. 👍 추천 대상 - 3rd Party를 사용해봤거나 개념에 대해 아는 개발자 - 시스템 안정성에 고민이 많은 개발자 🙋...

백엔드

컨퍼런스 우아콘 2023

[WOOWACON2023 세션 다시보기] 👉 세션 설명 요즘 대규모 서비스, 특히 슈퍼 앱에서는 웹뷰를 적극적으로 활용하는 모습을 보여주고 있습니다. 하지만 이런 상황에도 불구하고 모바일 앱 개발자와 프론트엔드 개발자 사이에서는 여러 가지 어려움이 있습니다. 모바일 앱 개발자로서 웹뷰를 사용하고 있으나 프론트엔드 개발자만큼 자세히 알지 못해서 어려움을 느끼나요? 프론트엔드 개발자로서 다양한 브라우저를 지원하는 것과 동시에, 같으면서도 너무 다른 웹뷰까지 지원해야 하는 데 부담을 느끼시나요? 이 발표에서는 웹뷰를 더 깊게 이해할 수 있도록 관련된 이야기를 해 보려고 합니다. 더 나아가 모바일 앱 개발자와 프론트엔드 개발자가 서로를 더 잘 이해하고 협업할 수 있길 바라면서 말이죠.ㅤ ㅤ 👉 발표자 소개 배민푸드iOS개발팀 임민호 WebKit과 Chromium을 사용하는 WebEngine 개발자를 거쳐 현재는 iOS 앱 개발을 담당하고 있습니다. 전문 분야인 웹뷰 지식을 공유해...

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2022

배달의 민족을 이용하시는 사장님들을 위한 통합 서비스, '배민사장님 앱'! 이 앱을 개발한 개발자들은 어떤 기능을 어떻게 개발할까요? 또 어떤 고민을 가지고 어떻게 풀어나갈까요? 배민사장님앱의 개발 이야기가 궁금하신 분들은 주목해 주세요! iOS 개발자가 들려주는 앱의 핵심 기능 개발부터, 프론트엔드 개발자가 들려주는 문제상황과 해결 방법을 거쳐, Android 개발자가 들려주는 새로운 아키텍처 도입까지! 무엇을 좋아하실지 몰라 종합세트로 준비했습니다. [발표자 소개] 김동연 | 배민푸드Android개발팀 우아한형제들에서 주문고객님, 사장님을 위한 Android앱을 개발하고 있습니다. 훌륭한 동료들과 유익한 앱을 만들기 위해 노력중입니다. 김양원 | 셀러웹프론트개발팀 우아한형제들에서 배민사장님앱 웹뷰를 개발하는 웹프론트엔드 개발자입니다. 편리하고 이질감 없는 사용성을 느낄 수 있는 서비스를 만들도록 최선을 다하고 있습니다. 박하영 | 배민푸드iOS개발팀 귀한 분과 사장님을 위한...

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2021

비즈니스가 성장할수록 시스템은 복잡해지고 커질 수 밖에 없습니다. 그 과정에서 새로운 시스템이 생겨나거나 작은 기능이 하나의 시스템으로 확장이나 통합이 되기도 하죠. B마트가 성장함에 따라 풀필먼트시스템을 점진적으로 구축한 과정에서의 경험들을 공유하고자 합니다. [발표자 소개] 최병철, 물류시스템팀 직접 경험하는 것을 소중히 생각하고 그것들을 기반으로 성장하는 경험주의자. 어떤 방법이 더 사용자에게 가치를 제공할 수 있는지 끊임없이 고민하는 개발자. 언젠가는 개발도상국에 IT 서비스를 구축해 주는 일을 하고 싶은 아키텍트 꿈나무. [발표자 소개] 반선호, B마트풀필먼트시스템팀 B마트풀필먼트시스템팀에서 B마트의 물류와 관련된 전반적인 업무를 하고 있습니다.

백엔드 데이터베이스 데브옵스 · 인프라

컨퍼런스 우아콘 2021

CQRS 패턴에 대해 알아보고 B마트 전시 도메인에 CQRS 패턴을 적용해 나간 과정을 공유합니다. [발표자 소개] 우태균, B마트서비스팀 서비스 이용자와 맞닿아 있는 앱 개발을 시작으로 좋은 서비스를 만들기 위한 도구로써 여러 개발 분야에 관심을 가져왔습니다. 최근에는 데이터를 기반으로한 서비스 발전과 안정적인 운영을 위해 노력하고 있습니다.

데이터베이스

컨퍼런스 우아콘 2021

코딩 없이 누구나 쉽게 웹앱을 만들 수는 없을까? 그런 고민에서 시작한 사내 프로젝트 '만다오'. 배민은 어떻게 개발자 없이 웹앱을 만들 수 있게 되었는지 그 기능을 중심으로 소개합니다. [발표자 소개] 장해민, 웹프론트개발그룹 더 아름답고 유용한 소프트웨어를 만들기 위해 끊임없이 고민하고 시도합니다.

웹 개발 프론트엔드