Search

ν”„λ‘œμ„ΈμŠ€

02. ν”„λ‘œμ„ΈμŠ€ β€” Figma to Code

전체 흐름

[Figma λ…Έλ“œ 선택] β”‚ β–Ό [Figma to Code Plugin (ν”ŒλŸ¬κ·ΈμΈ UI)] β”‚ Figma Plugin API β–Ό [λ…Έλ“œ 트리 뢄석 β†’ 쀑간 ν‘œν˜„(IR)] β”‚ β–Ό [ν”„λ ˆμž„μ›Œν¬λ³„ μ½”λ“œ 생성기] β”‚ (Tailwind / Flutter / SwiftUI ...) β–Ό [ν”ŒλŸ¬κ·ΈμΈ νŒ¨λ„μ—μ„œ μ½”λ“œ 좜λ ₯] β”‚ β–Ό [Copy β†’ IDE λΆ™μ—¬λ„£κΈ°]
Plain Text
볡사

단계별 처리

1) λ…Έλ“œ 트리 μˆ˜μ§‘

β€’
Figma Plugin API의 figma.currentPage.selection ν™œμš©
β€’
μ„ νƒλœ λ…Έλ“œμ˜ λͺ¨λ“  μžμ‹ λ…Έλ“œ μž¬κ·€ 탐색
β€’
각 λ…Έλ“œμ˜ 속성 μΆ”μΆœ:
β—¦
μœ„μΉ˜/크기 (x, y, width, height)
β—¦
Auto Layout 정보 (λ°©ν–₯, 간격, νŒ¨λ”©, μ •λ ¬)
β—¦
Fill / Stroke / Effect (색상, 그림자)
β—¦
Typography (폰트, 크기, κ΅΅κΈ°, μ •λ ¬)
β—¦
Constraint (λ°˜μ‘ν˜• λ™μž‘)

2) 쀑간 ν‘œν˜„(Intermediate Representation) 생성

β€’
λ…Έλ“œλ₯Ό ν”„λ ˆμž„μ›Œν¬ 비쒅속적 트리둜 λ³€ν™˜
β€’
각 λ…Έλ“œλ₯Ό λ‹€μŒ 쀑 ν•˜λ‚˜λ‘œ λΆ„λ₯˜:
β—¦
Container (Frame / Group)
β—¦
Text
β—¦
Image / Vector
β—¦
Shape (Rectangle / Ellipse)
β€’
Auto Layout β†’ Flexbox μ˜λ„ λ³€ν™˜
β€’
Constraint β†’ λ°˜μ‘ν˜• μ˜λ„ λ³€ν™˜

3) ν”„λ ˆμž„μ›Œν¬λ³„ μ½”λ“œ 생성

ν”„λ ˆμž„μ›Œν¬
λ³€ν™˜ κ·œμΉ™
Tailwind
IR β†’ div + Tailwind μœ ν‹Έλ¦¬ν‹° 클래슀
Flutter
IR β†’ Column/Row/Container + Padding/Decoration
SwiftUI
IR β†’ VStack/HStack + modifier 체인
HTML/CSS
IR β†’ μ‹œλ§¨ν‹± νƒœκ·Έ + class 기반 CSS

4) 색상/μŠ€νƒ€μΌ λ§€ν•‘

β€’
Tailwind λͺ¨λ“œ: κ°€μž₯ κ°€κΉŒμš΄ Tailwind 색상 클래슀둜 λ§€ν•‘ (bg-blue-500 λ“±)
β—¦
정확도 μš°μ„ μ΄λ©΄ Custom Color λͺ¨λ“œλ‘œ μ „ν™˜ (bg-[#2563EB])
β€’
Flutter λͺ¨λ“œ: Color(0xFFXXXXXX) ν˜•νƒœ
β€’
SwiftUI λͺ¨λ“œ: Color(red:..., green:..., blue:...) λ˜λŠ” Asset Catalog

강점

β€’
결정적(Deterministic) β€” 같은 λ””μžμΈ β†’ 항상 같은 μ½”λ“œ
β€’
AI 토큰 λΉ„μš© 0
β€’
닀쀑 ν”„λ ˆμž„μ›Œν¬ 지원 β€” λͺ¨λ°”μΌκΉŒμ§€ 컀버
β€’
μ˜€ν”„λΌμΈ λ™μž‘ β€” λ„€νŠΈμ›Œν¬ λΆˆν•„μš”

ν•œκ³„

β€’
μ»΄ν¬λ„ŒνŠΈ μ‹œλ©˜ν‹± μΆ”λ‘  λΆˆκ°€ β€” λͺ¨λ“  좜λ ₯이 ν‰νƒ„ν•œ div/Container 트리
β—¦
"이건 Button이닀" 같은 의미 맀핑은 μ‚¬λžŒ/AIκ°€ ν›„μ²˜λ¦¬
β€’
Props μΆ”λ‘  μ—†μŒ β€” 정적 λ§ˆν¬μ—… μœ„μ£Ό
β€’
μƒνƒœ/μΈν„°λž™μ…˜ μ—†μŒ β€” hover, onClick λ“± μˆ˜λ™ μΆ”κ°€
β€’
λ””μžμΈ μ‹œμŠ€ν…œ 토큰 λ§€ν•‘ 약함 β€” 직접 hex κ°’ 좜λ ₯ μœ„μ£Ό

AI λ„κ΅¬μ™€μ˜ κ²°ν•© νŒ¨ν„΄

1.
Figma to Code둜 Flutter/SwiftUI μ΄ˆμ•ˆ 생성
2.
Copilot λ“± AI에 μ½”λ“œ λΆ™μ—¬λ„£κ³ :
이 μ½”λ“œλ₯Ό 의미 λ‹¨μœ„λ‘œ μ»΄ν¬λ„ŒνŠΈ λΆ„λ¦¬ν•˜κ³ , props μΆ”λ‘ ν•΄μ„œ μž¬μ‚¬μš© κ°€λŠ₯ν•˜κ²Œ λ¦¬νŒ©ν† λ§ν•΄μ€˜. λ””μžμΈ 토큰은 theme/tokens.dart μ‚¬μš©.
Plain Text
볡사
3.
AIκ°€ μ •μ œ β†’ λ””μžμΈ μ‹œμŠ€ν…œμ— 톡합
β†’ 결정적 λ³€ν™˜ + AI 의미 μΆ”λ‘ μ˜ ν•˜μ΄λΈŒλ¦¬λ“œ μ›Œν¬ν”Œλ‘œ