본문으로 이동
[2편] 좌충우돌 iOS+Android+웹뷰 개발 이야기 #우아콘2022 #Day2_음식그이상의것을문앞으로
컨퍼런스

[2편] 좌충우돌 iOS+Android+웹뷰 개발 이야기 #우아콘2022 #Day2_음식그이상의것을문앞으로

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

원문 보기

AI 핵심 요약

배민사장님 앱은 주문이 몰리는 상황에서도 세 플랫폼의 주문 상태를 안정적으로 맞추고, 하이브리드 앱의 웹뷰를 빠르게 동작시키며, Android 구조를 확장하기 위해 여러 개선을 진행했다. 주문 목록은 1분 주기의 폴링으로 변경 여부를 확인하고, 신규 주문과 상태 변경은 푸시로 전달했으며 iOS 사일런트 푸시와 챗봇에도 푸시를 활용했다. 웹뷰는 자주 바뀌지 않는 데이터를 로컬스토리지에 캐싱하고 화면 재진입 시 전체 새로고침을 없애는 한편, 필요한 데이터는 `visibilitychange`로 화면이 보일 때 갱신했으며 앱과는 딥링크·JavaScript 인터페이스로 통신했다. Android는 MVP에서 MVVM과 MVI의 요소를 결합하고 이벤트 디스패처를 도입해 뷰와 뷰 모델의 역할을 분리했으며, 코드량이 늘더라도 재사용성과 향후 Jetpack Compose 전환을 고려한 구조가 중요하다는 점을 공유했다.

  • 주문 목록처럼 변경 여부를 확인한 뒤 필요한 데이터를 가져올 때는 폴링을, 즉시 알려야 하는 주문 상태 변경에는 푸시를 활용한다.
  • iOS 사일런트 푸시는 일반 알림과 처리 경로가 다르므로 `content-available` 설정과 지원 OS 버전을 확인한다.
  • 웹뷰에서는 자주 바뀌지 않는 데이터를 캐싱하고, 화면이 보일 때만 최신 데이터가 필요한 API를 호출해 불필요한 요청을 줄인다.
  • 하이브리드 앱의 웹뷰와 네이티브 앱은 딥링크와 JavaScript 인터페이스로 연결하고, 인증 갱신이나 데이터 전달 책임을 명확히 나눈다.
  • Android에서 이벤트 디스패처를 도입하면 뷰와 뷰 모델의 결합을 낮출 수 있지만, 이벤트 정의와 중계 코드가 늘어나는 비용도 고려해야 한다.

소개

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

비슷한 학습 자료

컨퍼런스 우아콘 2023

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

프론트엔드 모바일 앱 개발

컨퍼런스 우아콘 2022

배달의민족 Android 프로젝트에 디자인시스템(aka 배시시, 배민시각시스템)을 도입한 경험과, 디자인시스템을 만들기 위해 Jetpack Compose를 사용해 보고 느낀 점을 공유합니다. [발표자 소개] 강경완 | 배민푸드Android개발팀 배달의민족 Android 앱을 개발합니다. 모든 사람이 편하게 사용할 수 있는 앱을 만들기 위해 노력합니다. 사람들과 만나 소통하는 걸 좋아하며, 개발자 커뮤니티를 운영하고 있습니다.

모바일 앱 개발 UI/UX

컨퍼런스 우아콘 2022

배민 앱 내에 명확하게 R&R이 정해져 있지 않은 애매~한 지면들, 그래서 변화나 개선 없이 조용히 늙어가고 굳어가던 지면들. 그런 지면들을 해결하는 공통서비스 디자인팀! 프로덕트의 매력도를 높이기 위해. 싱크홀처럼 노후화된 배민의 위트 요소들을 어떻게 개선하고 있을까요? 또 어떤 업무들을 어떻게 진행하고 있을까요? 명확한 R&R의 정반대, 휴지가 떨어져 있으면 우리는 누구든지 줍는다. 공통서비스디자인팀 업무들을 공개합니다. [발표자 소개] 이종석 | 공통서비스디자인팀 공통서비스 디자인팀의 아빠이자, 디자인 옵스팀의 삼촌입니다. 늘 타오르는 열정을 주체하지 못하고 일을 키우는 재주가 있습니다. 남들이 뭐하냐고 물어보면 "위대한 것을 만들고 있어요" 라고 대충 애매하게 멋있어 보이게 말합니다. 좀 더 명확하게 말씀드리면 공통서비스 디자인팀에서는 다양한 부서에서 함께 운영하고 있는 배달의민족 모바일 앱 공통지면들의 고객 경험을 디자인하고 있고, 디자인 옵스팀에서는 배민 앱과 ...

UI/UX

컨퍼런스 우아콘 2022

우리가 배달의민족에서 음식을 주문하면, 사장님들은 그 주문을 받습니다. 사장님들은 더 나은 장사노하우는 없는지, 어떻게 매장을 관리할지를 고민합니다. 그런 사장님들을 위해 사장님 통합 서비스인 배민사장님 앱을 만들었어요. 배민사장님 앱은 어떤 전략을 가지고 있을까요? 또 PM과 프로덕트 디자이너는 어떻게 일했을까요? 사장님 통합 서비스인 배민사장님 앱을 만들면서 함께 고민하고 해결했던 이야기 속에서 저희만의 협업 노하우를 공유합니다. [발표자 소개] 김하나 | 주문접수채널팀 주문접수채널팀 PM입니다. 언제나 좋은 커뮤니케이션을 하는 것이 목표입니다. 강민희 | 셀러서비스디자인팀 사장님이 효율적인 가게 운영을 할 수 있도록! 셀러서비스디자인팀에서 문제를 고민하고 해결하는 일을 하고 있습니다.

UI/UX 애자일 · 협업

컨퍼런스 우아콘 2022

우아콘2022에서 발표영상을 확인하세요👉https://www.woowacon.com 우아콘 어떠셨나요? 설문조사 참여하고 우아콘 스페셜굿즈도!👉https://forms.gle/iB9h2xRAc13rcDVu9 퀵커머스를 이끄는 기술과 서비스를 만들어가는 여정! 우아한형제들 CTO의 키노트와 CPO의 라이브 발표를 들어볼까요? [키노트] 음식 배달을 넘어 커머스 플랫폼으로 송재하 | 우아한형제들 CTO [라이브발표] 푸드와 커머스를 아우르는 슈퍼앱으로의 전환 김용훈 | 우아한형제들 CPO [훑어보기] 둘째날 발표 훑어보기 조은옥 | Developer Relations 유영경 | Developer Relations

컨퍼런스 우아콘 2021

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

웹 개발 프론트엔드