Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
엔지니어링 워크플로우10분 읽기·ExodeUI 팀

코드에 따른 설계: 양도세 제거

현대적인 디자인-코드 워크플로를 통해 디자이너와 개발자 사이의 값비싼 번역 세금을 어떻게 없애는지 알아보세요. 자동화된 코드 출력, 개방형 형식, AI 지원 파이프라인을 살펴보세요.

핵심 요약과 정의

핵심 포인트

Design-to-code는 시각적 디자인 사양을 깨끗하고 실행 가능한 소스 코드로 직접 변환하여 프런트엔드 개발자가 전통적으로 수행했던 수동 번역 작업을 최소화하거나 제거하는 방식입니다. 현대적인 디자인-코드 워크플로는 정적 시각적 레이아웃뿐만 아니라 대화형 동작이 작동하는 관용적인 React, Vue, SwiftUI 또는 Flutter 구성 요소를 생성합니다.

핸드오프 번역세

기존 설계-엔지니어링 워크플로우에서는 디자이너가 Figma 파일을 생성하여 개발자에게 전달합니다. 그런 다음 개발자는 수동으로 모든 간격 값을 측정하고, 프로토타입에 가까운 이징 곡선을 선택하고, 코드에서 상태 변형을 다시 작성하고, 모든 마이크로 상호 작용을 독립적으로 다시 생성해야 합니다. 연구에 따르면 UI 엔지니어는 스프린트 시간의 40~60%를 이 번역 작업에 소비하며 종종 설계 의도와 다른 코드를 생성하는 것으로 추정됩니다.

  • 프런트엔드 스프린트 시간의 40~60%가 시각적 픽셀 매칭에 소비됨
  • 이징 및 타이밍에 대한 추측으로 인해 애니메이션 품질이 저하됩니다.
  • 반복 주기마다 디자인과 코드가 서로 떨어져 있습니다.
  • 프로토타입은 실제 사양이 아닌 일회용 인공물이 됩니다.

2026년에 디자인-코드 작업이 가능한 이유

진정한 디자인-코드 생성을 가능하게 하는 혁신은 AI 이미지-코드 생성이 아닙니다. 이는 구조화되고 실행 가능한 디자인 문서입니다. 여기서 디자인 아티팩트는 정적 JPEG 또는 계층화된 파일이 아니라 런타임이 직접 재생할 수 있는 구조, 대화형 상태 및 스프링 물리학을 인코딩하는 개방형 데이터 모델입니다.

ExodeUI 설계-코드 파이프라인

.exode 문서 형식은 모든 요소를 ​​스프링 강성, 상태 머신 전환, 제스처 바인딩 및 레이아웃 제약 조건과 같은 입력된 속성이 있는 장면 그래프 노드로 저장합니다. 각 프레임워크의 런타임 패키지는 이 그래프를 읽고 재생하므로 디자인을 코드로 다시 빌드할 필요가 없습니다.

1단계: Exode 캔버스에서 디자인

벡터 그리기, 스프링 물리학 구성, 상태 머신 전환 연결 및 상호 작용 테스트가 캔버스에서 실시간으로 수행됩니다.

2단계: 런타임 추가

프레임워크용 런타임(예: React용 exodeui npm 패키지)을 설치하고 파일을 로드합니다.

3단계: 저장소에 복사

생성된 코드는 표준 관용적 JSX 또는 SwiftUI입니다. 기존 코드베이스에 추가하고, 소품으로 사용자 정의하고, 디자인 시스템 토큰으로 스타일을 지정하세요.

프로덕션 구현 예시

인터랙티브 컴포넌트 구현
// Playing an ExodeUI file in React with the exodeui package.
// The animation, its states and springs live in save-button.exode;
// your code only sets inputs and listens for events.
import { useEffect } from 'react';
import { ExodeUICanvas, useExodeUI } from 'exodeui';
import saveButton from './save-button.exode'; // read by exodePlugin() from 'exodeui/vite-plugin'

export function SaveButton({ saving, onSave }) {
  const { setEngine, setInputBool } = useExodeUI();

  // Drive the "Loading" state from app data
  useEffect(() => {
    setInputBool('Loading', saving);
  }, [saving, setInputBool]);

  return (
    <div style={{ width: 220, height: 64 }}>
      <ExodeUICanvas
        artboard={saveButton}
        onReady={setEngine}
        onTrigger={(name) => {
          if (name === 'Pressed') onSave();
        }}
      />
    </div>
  );
}

자주 묻는 질문

관련 가이드와 예제

인터랙티브 UI는 한 번만 디자인하고, 같은 파일을 배포하세요.

ExodeUI에서 상태, 스프링 물리, 로직을 시각적으로 만들고 같은 파일을 React, SwiftUI, Flutter 등에서 재생하세요. 무료로 시작할 수 있습니다.

무료로 사용해 보기