Figma 웹 개발

moon.kick·2025년 4월 19일

좋아요! 이제 Figma를 실제 웹 개발로 연결하기 위한 디자인 시스템 구축부터 개발자 협업까지 초보자도 완벽하게 따라올 수 있도록 아주 자세하고 디테일하게 단계별로 설명드릴게요. 🧡
(Figma를 혼자 공부하시는 분이나, 디자이너-개발자 협업을 처음 해보는 분들에게도 꼭 필요한 구성입니다.)


🌱 1. Design System을 철저히 갖추기

디자인 시스템은 디자인의 ‘규칙’이자 ‘반복 가능한 부품들의 모음집’이에요.
웹 개발에서 CSS 변수, Tailwind, 재사용 컴포넌트를 작성하는 것과 연결되죠.

🔸 (1) Variables(변수): 색상, 타이포, 여백의 기준 만들기

Figma 상단의 Local Variables 탭을 통해 다음을 정의할 수 있어요:

  • Color 변수: Primary, Secondary, Error, Background, Text, Border
  • Typography: Heading1, Body, Caption 등 폰트 스타일 지정
  • Spacing: 4px 단위로 space-4, space-8, space-12처럼 여백 값을 이름 붙이기

팁: 웹개발에서 CSS로 --color-primary, --space-md처럼 매핑하기 쉽게 작명하세요.


🔸 (2) 컴포넌트(Component): 반복 요소를 '부품화'

  • 버튼, 텍스트필드, 라벨, 카드 등 여러 화면에서 반복해서 사용하는 UI는 모두 컴포넌트로 만들어야 해요.
  • Create Component 단축키: Ctrl+Alt+K (Windows) / Cmd+Option+K (Mac)

예시:

  • Primary Button, Secondary Button 두 종류를 만들고
  • 텍스트/아이콘/상태 등은 Variant로 나눕니다.

📐 2. Auto Layout & Variants로 유연한 UI 설계하기

🔸 (1) Auto Layout: “반응형 정렬 박스” 만들기

Shift + A로 적용 가능한 Auto Layout은 마치 CSS의 Flexbox처럼 작동해요.

  • 버튼: 안쪽 여백(Padding), 텍스트에 따라 자동 너비 조정
  • 카드/섹션: 상하 정렬, 간격(Gap) 지정
  • 폼 그룹: 세로로 정렬되며 내용물에 따라 자동 높이 확장

초보 팁:
Auto Layout이 적용된 프레임은 UI가 “깨지지 않고” 어떤 사이즈에서도 잘 늘어나요. 모바일/PC에 맞는 반응형 디자인을 쉽게 만들 수 있어요!


🔸 (2) Variants: 버튼의 상태 변화, 토글 ON/OFF 만들기

  • Button / Default, Button / Hover, Button / Disabled처럼 버튼의 상태들을 묶어 관리
  • 스위치: Toggle / On, Toggle / Off

Figma에서 “+ Add Variant” 버튼을 눌러 여러 상태를 하나의 컴포넌트로 묶으면, 실제 앱처럼 인터랙션도 테스트 가능합니다.


🔍 3. Inspect와 플러그인으로 개발자에게 스펙 & 에셋 전달

Figma는 개발자에게 정확한 코드 사양을 전달할 수 있도록 Inspect 기능을 내장하고 있어요.

🔸 (1) Inspect 패널

  • 오른쪽 패널의 </> 아이콘 클릭 → CSS 코드 자동 생성
  • 개발자들은 여기서 폰트 크기, 색상, 여백, 테두리 정보를 그대로 가져갈 수 있어요.
  • Export: 아이콘이나 이미지 → SVG, PNG로 다운로드 가능 (Slice로 지정 필요)

🔸 (2) 유용한 플러그인

  • Figma Tokens: 변수 정보(JSON)로 추출해서 개발자 환경에 삽입 가능
  • Measure, Design Lint: 간격 정렬 오류, 미지정 스타일 등을 자동 검사
  • Anima: 실제 코딩 없이도 디자인 → HTML/CSS로 변환해줌

팁: 디자이너는 “버튼 간 여백 16px”이라 말하지 말고, 디자인에 정확히 적용해 두세요. Figma가 숫자를 그대로 보여줍니다.


🧩 4. Code 단계: 컴포넌트 재사용 + Storybook으로 UI 확인

🔸 (1) 개발자가 컴포넌트 구조로 구현

Figma에서 만든 구조를 그대로 React 컴포넌트로 만들 수 있어요:

<Button variant="primary" disabled>확인</Button>
  • Variant = 상태 관리 (primary, secondary, hover, disabled)
  • Props로 전달 (Figma의 Properties를 React에 매핑)

🔸 (2) 디자인 시스템의 코드화

  • CSS Modules / Styled Components / Tailwind 등의 방식으로 Figma Tokens 연결
  • Figma에서 지정한 색상/타이포그래피를 변수나 클래스 이름으로 그대로 씁니다.

🔸 (3) Storybook 사용

  • 디자이너가 만든 Button, Input, Card 컴포넌트를 개발자가 Storybook에 등록
  • QA/기획자/PM도 직접 확인 가능하며, 디자인-개발 간 일치 여부 검토 가능

🤝 5. 협업과 워크플로우: 효율 극대화하는 방식

🔸 (1) 협업 중 댓글 달기

  • Figma 오른쪽 상단 💬 버튼 → 마우스로 요소 클릭 → 바로 피드백 남기기
  • 개발자도 “이 텍스트 위아래 간격 너무 좁아요” 식으로 남기면 디자이너가 수정

🔸 (2) 브랜치 & 버전관리

  • 개발 브랜치: feat/button-ui, feat/home-layout → PR 시 Figma 링크 첨부
  • 디자이너도 Figma에서 Branch 디자인 기능 활용해 A/B 시안 테스트 가능

🔸 (3) 자동화 도구로 반복 최소화

  • Figma에서 만든 디자인 토큰을 GitHub로 자동 커밋 → 개발환경에 반영
  • Design Lint로 자동 검사 → 색상, 폰트 등 규칙 위반 발견 가능

🎁 마무리 요약: 이것만 기억하세요!

단계해야 할 일도구
디자인 시스템색상/폰트/여백 Variables, 컴포넌트화Figma Local Variables, Components
유연한 UI 설계Auto Layout, Variants 적용Shift + A, + Add Variant
스펙 전달Inspect 패널, 플러그인 활용</>탭, Figma Tokens 등
코드화Props + 디자인 토큰 재사용React, Tailwind, Storybook
협업댓글 + 브랜치 전략Figma 댓글, Git PR, Branch UI

혹시 사용하시려는 프레임워크(예: React, Vue, Next.js 등)가 있다면, 그에 맞춰 컴포넌트 매핑법도 도와드릴 수 있어요.
필요하시면 Figma → React 연결 실제 예시도 만들어드릴게요!

어떤 부분이 가장 어려우셨나요? 거기부터 같이 풀어가도 돼요 :)

profile
@mgkick

0개의 댓글