배달의민족 Flutter 도입과 아키텍처 설계 교훈

배달의민족은 주문접수 채널에서 Flutter를 도입하여 멀티 플랫폼 대응력을 높이고, Clean Architecture를 통해 효율적인 코드 관리를 실현했습니다. 이 글에서는 Flutter 도입과 아키텍처 설계의 과정에서 얻은 교훈을 바탕으로, 변화하는 비즈니스 요구에 맞추기 위한 혁신적인 접근을 소개합니다. 또한, 이러한 경험이 다른 기업이나 개발자에게도 유용한 전략이 될 수 있도록 공유하고자 합니다. Flutter 도입으로 인한 혁신적인 변화 배달의민족은 Flutter 도입을 통해 플랫폼 전환과 유지보수 측면에서 큰 혁신을 이루었습니다. 기존의 Windows, Android, iOS 플랫폼에 추가하여 macOS와 다양한 Android 디바이스로까지 확장할 필요성을 느꼈습니다. Flutter의 도움으로 단일 코드베이스에 의해 멀티 플랫폼을 동시에 지원할 수 있게 되었고, 이를 통해 개발자 수를 줄이고 생산성을 향상시킬 수 있었습니다. 개발자들은 각 플랫폼에 대해 반복적으로 구현할 필요가 없어졌고, 버그 수정이나 기능 변경 시에도 이전에 비해 적은 시간에 모든 플랫폼에 적용할 수 있게 되었습니다. Flutter의 도입은 크로스 플랫폼 반응형 UI 구현을 가능하게 하여, 사용자 경험의 일관성을 높였습니다. 이제 파트너들은 다양한 OS 환경에서 동일한 경험을 하게 되므로, 학습 비용도 줄어들고, 혼란이 줄어드는 장점을 경험하고 있습니다. 이러한 변화는 단순히 기술적인 접근방식이 아닌, 사업의 방향성을 전환하는 계기로 작용했습니다. 파트너사들이 원하는 효율적인 주문 관리 시스템을 제공하기 위해, 기존의 네이티브 아키텍처에서 벗어나 새로운 기술 스택으로 과감히 옮겨갔습니다. Firebase와 같은 클라우드 서비스를 활용하여 실시간 데이터 업데이트와 동기화가 가능하게 되었고, Flutter의 강점을 극대화하여 사용자 친화적인 UI/UX도 구현됐습니다. 이로 인해 즉각적인 피드백을 수렴할 수 있는 구조가 마련됐습니다. 결국 Flutter의 도입은 배달의...

플로팅웹뷰 도입으로 구현한 웹과 네이티브의 조화

웹과 네이티브의 경계가 허물어지는 시대에 접어들면서, 커머스 서비스는 사용자 경험을 높이기 위해 혁신적인 방법을 모색하고 있습니다. 플로팅웹뷰 도입을 통해 혁신적으로 웹과 네이티브의 조화로운 공존을 가능하게 하였으며, 이는 사용자에게 매끄러운 탐색 경험을 제공하는 데 기여했습니다. 이 글에서는 플로팅웹뷰가 어떻게 웹과 네이티브를 조화롭게 연결하여 새로운 사용자 경험을 창출했는지를 살펴보겠습니다.

조화롭게 공존하는 웹과 네이티브의 경험


플로팅웹뷰의 도입은 웹과 네이티브가 조화롭게 공존하게 만들어 줍니다. 초기에는 웹 페이지와 네이티브 영역의 분리가 이루어졌지만, 사용자 경험을 개선하기 위한 시도가 늘어나면서 두 영역이 접점에서 상호작용하게 되었습니다. 특히, 네이티브 내비게이션 탭바가 도입되면서 상단 헤더 영역에 네이티브가 포함됨으로써 두 영역 간의 충돌이 발생하게 되었습니다. 이와 같은 변화는 웹 기반의 하단 내비게이션 탭바의 문제를 부각시켰습니다. 페이지 로딩이 완료되기 전까지 하단 내비게이션이 미노출되면서 사용자는 불편한 탐색 경험을 하게 되었습니다. 이러한 상황에서 플로팅웹뷰는 투명한 UI를 통해 네이티브 영역 위에 웹 콘텐츠를 적절히 표시해 주는 솔루션이 되었고, 이를 통해 사용자들은 방해받지 않고도 필요한 정보를 쉽게 접근할 수 있게 되었습니다. 플로팅웹뷰는 단순히 페이지를 격리하는 것이 아닌, 웹과 네이티브의 경계를 허물고 자연스럽게 연결할 수 있는 역할을 수행하고 있습니다. 이처럼 두 영역의 조화는 신속한 사용자 탐색 경험을 가능하게 하며, 궁극적으로 커머스 서비스의 가치를 높이는 데 중요한 기여를 합니다. 누구나 인정할 수 있는 것은, 이러한 변화가 사용자에게 더 나은 서비스 경험을 제공하며, 이를 통해 고객 만족도를 향상시키는 데 기여한다는 점입니다.

플로팅웹뷰를 통한 사용자의 새로운 기대


플로팅웹뷰 도입으로 인해 사용자는 기대 이상의 새로운 경험을 하게 됩니다. 이전에는 웹과 네이티브가 서로 격리되어 있었지만, 플로팅웹뷰는 이 두 영역을 융합하여 사용자가 요구하는 정보에 대해 보다 자연스럽고 직관적인 접근을 가능하게 합니다. 이는 플로팅웹뷰가 최상위 레이어에 위치함으로써, 사용자에게 자연스럽고 원활한 탐색을 제공하기 때문입니다. 웹 페이지의 팝업 또한 플로팅웹뷰를 통해 새로운 가능성을 가지게 되었습니다. 기존의 팝업이 네이티브 영역에 제한받는 문제를 해결하며, 보다 다양한 형태로 사용자에게 다가갈 수 있게 되었습니다. 플로팅웹뷰의 도입으로 인해 팝업은 독립적으로 동작할 수 있으며, 이를 통해 웹 페이지 간의 통신이 개선되었습니다. 또한, 사용자 경험을 더욱 풍부하게 하기 위해 추가적인 디커플링 작업을 통해 팝업 컴포넌트가 더욱 유연하게 조작될 수 있게 했습니다. 사용자의 선택에 따라 다양한 팝업이 순차적으로 로드되고, 이는 효과적인 정보 전달을 가능하게 합니다. 따라서 기업은 사용자에게 실제 활용 가능한 정보를 즉각적으로 제공할 수 있으며, 결과적으로 사용자의 기대를 뛰어넘는 성과를 거둘 수 있게 됩니다.

조화로운 아키텍처 설계로의 진화


플로팅웹뷰 도입은 단순히 사용자 경험을 향상시키는 것을 넘어, 종합적인 아키텍처 설계로의 진화를 가능하게 했습니다. 디커플링 작업을 통해 여러 서비스에 걸쳐 일관된 아키텍처를 적용함으로써, 코드의 중복을 최소화하고 작업의 효율성을 극대화하는 데 기여했습니다. 이는 웹과 네이티브 간의 경계가 희미해지는 가운데, 추후의 확장성과 지속 가능성을 높이는 중요한 요소로 작용합니다. 이 외에도 플로팅웹뷰는 각종 팝업의 효율적인 관리가 가능하도록 하여, 전체적인 시스템의 유연성과 안정성을 강화시켰습니다. 특히, 정교하고 체계적인 구조 덕분에 여러 서비스에서 활용할 수 있는 라이브러리를 개발하게 되어, 향후 유지보수에 필요한 시간과 비용을 절감할 수 있을 것으로 기대됩니다. 또한, 이러한 아키텍처 설계는 팀원 간의 협업을 더욱 수월하게 해주며, 향후 AI 기술과 접목할 경우 보다 효율적으로 작업할 수 있는 기반을 마련해줍니다. 플로팅웹뷰의 성공적인 도입과 이후의 디커플링 작업은 단순히 기술적 측면을 넘어서 비즈니스 측면에서도 긍정적인 영향을 미칠 것입니다.

결국, 플로팅웹뷰는 웹과 네이티브의 조화로운 공존을 통해 사용자에게 혁신적인 탐색 경험을 제공하고, 시스템 아키텍처의 효율성을 증대시키며 커머스 서비스 전반에 긍정적인 변화를 일으켰습니다. 앞으로도 이러한 혁신적인 시도를 통해 사용자의 기대를 뛰어넘는 새로운 서비스를 지속적으로 제공할 수 있도록 노력할 것입니다.

이 블로그의 인기 게시물

우아한형제들의 실시간 알림 혁신: SSE(Server-Sent Events)로 이룬 효율성과 안정성

우아한 디버깅 툴 개선으로 QA 업무 효율화

물어보새의 진화와 지식 공유 확장