본문으로 이동
레고처럼 조립하는 토스 앱
문서

레고처럼 조립하는 토스 앱

이준석/송범근 토스 · 토스 기술 블로그

원문 보기

AI 핵심 요약

수백 개의 서비스가 들어간 토스 iOS 앱은 기존 계층 구조에서 Feature 모듈 간 의존성이 복잡해지고 순환 참조와 구조 파악의 어려움을 겪었다. 이를 해결하기 위해 각 서비스를 Feature, Interface, Testing, Tests, Example의 다섯 모듈로 나누는 Microfeatures 아키텍처를 도입하고, 서비스 간에는 구현체가 아닌 Interface에 의존하도록 바꿨다. 대규모 모듈 분리 과정의 작업량과 충돌을 줄이기 위해 Tuist 템플릿과 Scaffold를 활용했으며, iOS 챕터 전체가 전환에 참여했다. Example 앱은 전체 앱보다 빠르게 기능과 UI를 확인하고 사내에 배포할 수 있어 개발 및 협업에도 도움이 됐다.

  • 서비스 간에는 구현 모듈 대신 공개 인터페이스를 제공하는 모듈에 의존하게 해 결합도를 낮출 수 있다.
  • Microfeatures는 기능, 인터페이스, 테스트용 코드, 테스트, 예제 앱을 분리해 서비스 단위로 관리한다.
  • Tuist의 Stencil 템플릿과 Scaffold를 활용하면 반복적인 모듈 생성 작업을 자동화할 수 있다.
  • Example 앱은 필요한 기능만 빌드해 UI를 빠르게 확인하고, 디자이너·기획자와 결과물을 공유하는 데 유용하다.

소개

수많은 서비스를 담고 있는 대규모 iOS 앱에 어울리는 아키텍처는 무엇일까요? 프로젝트 간의 의존성과 모듈 간의 결합도를 낮춰, 더 효율적인 서비스 개발, 관리를 이뤄낸 과정을 소개합니다.

비슷한 학습 자료

컨퍼런스 SLASH

수많은 서비스를 담고 있는 대규모 iOS 앱에 어울리는 아키텍처는 무엇일까요? 프로젝트 간의 의존성과 모듈 간의 결합도를 낮춰, 더 효율적인 서비스 개발, 관리를 이뤄낸 과정을 소개합니다. 이준석, 송범근 / 토스 iOS Developer 발표 자료 👉🏻 https://bit.ly/3J33r5k 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #microfeaturesarchitecture #microfeatures #iosdeveloper #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제...

모바일 앱 개발

문서 차영훈

팀마다 맥북에 폰을 꽂던 시절을 끝내고, 실기기를 API 호출 한 번으로 여는 플랫폼을 만들며

모바일 앱 개발 개발 도구

문서 우종호/송석현

토스의 사내 Feature Store와 학습 파이프라인 자동화를 위한 도구 Trainkit을 소개합니다.

데브옵스 · 인프라 딥러닝 · 머신러닝

문서 이지윤

디자이너들도 어떻게 하면 빠른 속도를 내며 전체적인 경험을 맞출 수 있을지 매 순간 고민하고 있어요.

UI/UX

문서 고현선

세계적인 IT 기업에서나 만드는 이모지 폰트를 어떻게 한국 금융 플랫폼 토스에서 만들게 됐을까? 토스의 이모지 폰트, 토스페이스 제작의 모든 것을 공개합니다.

그래픽 디자인

문서 정희연

토스 디자인 컨퍼런스 사전 신청 오픈 (5.15~5.21)