pile·
모바일·카카오 스타일 (지그재그)카카오 스타일 (지그재그)·

1년 동안의 iOS 모듈화 진행기 — 2. Component 모듈

문제피처 모듈을 독립시키려면 상품 카드 캐러셀·헤더·배너 같은 공통 UI 컴포넌트를 분리해야 했지만, 서버 드리븐 환경에서 어떤 컴포넌트가 있는지 한눈에 볼 카탈로그가 없어 중복 개발과 QA 범위 정의가 어려웠다.
접근ZCore의 모델·Repository 분리를 활용해 파일 이동·접근 제어자·로직 변경을 커밋 단위로 쪼개 ZComponent 모듈을 분리하고, JSON 모의 데이터를 쓰는 데모앱 스토리북과 uber/ios-snapshot-test-case 기반 스냅샷 테스트를 CI/CD에 붙여 PR 코멘트로 변경 영향을 시각화했다.
결과데모앱이 팀의 컴포넌트 카탈로그 역할을 하면서 기존 컴포넌트 재사용 판단이 빨라지고, 스냅샷 차이를 이미지로 공유하게 되면서 비슷한 컴포넌트의 중복 개발이 크게 줄었다.
카카오 스타일 (지그재그)
카카오 스타일 (지그재그) 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 모바일·당근당근 테크블로그·

    웹뷰 다음의 레일을 깔다: 당근이 Lynx를 선택한 이유

    당근 프론트엔드코어팀이 WebView 기반 화면의 첫 프레임 렌더링 문제를 해결하기 위해 Lynx를 도입한 기록이다. 레퍼런스가 거의 없는 기술을 코드베이스 직접 분석으로 검증한 뒤 프로덕션에 적용했고, 1.9백만 사용자 A/B에서 Android 18%, iOS 37%의 첫 프레임 단축을 달성했다.

    요약 이어보기
    #cross-platform#webview#mobile-performance+2
  2. 모바일·토스 SLASH토스 SLASH·

    토스의 디바이스 팜 만들기

    토스가 각 팀이 각자 운영하던 작은 디바이스 팜을 하나의 중앙 플랫폼 '네뷸라(Nebula)'로 통합한 과정을 다룬다. Appium 대신 자체 드라이버를 개발해 클릭 13.5배, 텍스트 입력 10배의 성능을 달성했고, Android와 iOS 미러링도 직접 내재화해 실기기 원격 조작과 화면 실시간 공유를 동시에 가능하게 만들었다. 현재 100대를 넘어 수백 대를 향해 24시간 가동 중이다.

    요약 이어보기
    #android#ios#appium+2