MDS 지속 가능한 디자인 시스템 구축 전략
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

MDS 지속 가능한 디자인 시스템을 향한 여정

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

UI 디자인

대상자

  • *프론트엔드 개발자, 디자이너, 디자인 시스템 운영자**
  • 난이도: 고급 (React, 디자인 시스템, 컴포넌트 아키텍처 이해 필요)*

핵심 요약

  • Headless UI 아키텍처를 채택하여 비즈니스 로직과 UI 분리로 유지보수성 향상
  • Atomic DesignCompound Pattern을 결합해 컴포넌트 결합도 최소화 및 유연성 확보
  • Babelts-morph를 활용한 SVG 자동화, 컴포넌트 마이그레이션 자동화로 개발 생산성 개선

섹션별 세부 요약

1. 문제점과 디자인 시스템 도입 배경

  • 프로젝트별 컴포넌트 중복, 디자인 일관성 저하, 개발자-디자이너 커뮤니케이션 비용 증가
  • 유지보수성과 개발 생산성을 높이기 위한 디자인 시스템(MDS) 도입 결정
  • Headless UI 선택 이유: 비즈니스 로직과 UI 분리로 유지보수성 향상

2. Headless UI 아키텍처 적용

  • 비즈니스 로직과 UI 분리로 변경 포인트 단일화
  • 유지보수 시간이 개발 시간보다 길기 때문에 코드 수정 포인트 최소화 필요
  • Headless UI는 UI 컴포넌트 뼈대만 제공하며, 사용처에 로직 위임

3. Atomic Design과 Compound Pattern 결합

  • Atomic Design (Atom → Molecule → Organism → Template → Page)으로 컴포넌트 단위 분리
  • Compound Pattern 도입: 컴포넌트 간 결합도 최소화, 상태 공유 가능
  • Radix UI 도입으로 검증된 솔루션 활용

4. Slot Pattern과 확장성 고려

  • Molecule 이상 단위에서 Slot Pattern 활용으로 확장성 확보
  • SlotPropsRender Props 병행 사용, 하지만 Atom 수 증가로 복잡성 증가
  • Content CouplingCoincidental Cohesion을 감수하고 빠른 개발을 위한 투트랙 전략 도입

5. SVG 자동화 및 컴포넌트 마이그레이션

  • Babel을 활용한 SVG vectorEffect 자동 추가 (non-scaling-stroke 속성)
  • ts-morph를 사용한 SVG 경로 자동화 스크립트 개발
  • 140개 아이콘에 대한 공통 변경 사항 적용을 위한 Adapter 컴포넌트 개발

6. 커뮤니케이션 문제점과 해결 방향

  • 디자인 시스템 도입으로 커뮤니케이션 비용 감소 기대, 하지만 리소스 부족으로 인해 파편화된 컴포넌트 발생
  • 디자인 시스템 컴포넌트 여부 구분 어려움, 지속적인 개선 필요

결론

  • Headless UI + Atomic Design + Compound Pattern 결합으로 유지보수성과 확장성 확보
  • Babel/TS-morph 자동화 스크립트로 SVG 처리 및 컴포넌트 마이그레이션 개발 리소스 절감
  • 디자인 시스템의 중심화자동화 도구 도입이 지속 가능한 운영 기반 마련
  • 커뮤니케이션 문제 해결을 위해 디자인 시스템 중심의 협업 프로세스 개선 필요