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 →

원칙 04 · Visual Studio와 코드만 비교

Framer Motion 대안: 깔끔한 React 출력을 갖춘 시각적 모션 캔버스

코드 편집기 창에서 시행착오를 거쳐 애니메이션 키프레임 및 스프링 매개변수 코딩을 중단하세요. 라이브 캔버스에서 시각적으로 디자인하고 React 및 Swift에서 동일한 파일을 재생하세요.

What is Framer Motion in ExodeUI?

ExodeUI는 설계 및 엔지니어링 팀을 위한 Framer Motion의 시각적 대안입니다. Framer Motion를 사용하려면 개발자가 JavaScript 코드를 통해 복잡한 애니메이션 변형, 제스처 및 스프링을 완전히 작성해야 하지만, ExodeUI는 디자이너가 상호 작용을 작성하고 즉시 제작 가능한 React JSX 및 SwiftUI 구성 요소를 내보낼 수 있는 시각적 디자인 환경을 제공합니다.

핵심 아키텍처

엔지니어와 디자이너가 ExodeUI를 선택하는 이유

Design, logic and motion in one file that runs inside your app.

시각적 변형 및 상태 검사기

브라우저를 다시 로드하거나 JSON 개체를 작성하지 않고도 레이아웃 변경, 스프링 곡선 및 호버 변형을 즉시 미리 볼 수 있습니다.

Core Architecture

크로스 플랫폼 네이티브 내보내기

웹에서는 Framer Motion가 React로 제한됩니다. ExodeUI는 동일한 물리학을 React, React Native Reanimated 및 Apple SwiftUI로 내보냅니다.

Core Architecture

연속 제스처 물리학

캔버스에서 시각적으로 복잡한 드래그 경계, 플링 속도 및 자기 스냅을 작성합니다.

Core Architecture

다중 프레임워크 통합

기존 Motion(Framer Motion) 코드와 함께 사용합니다. 설계된 구성요소용 ExodeUI 파일, 나머지용 코드.

Core Architecture

객관적 평가

ExodeUI와 비교하기 Framer Motion (Code Library)

Where ExodeUI is stronger, and what to weigh before you switch.

The ExodeUI Architecture

ExodeUI

강점
  • 시각적 캔버스 작성으로 지루한 코드 시행착오 제거
  • React 웹 외에도 React Native 및 기본 SwiftUI로 출력
  • 디자이너와 엔지니어가 동일한 시각적 모션 파일에 대해 협업합니다.
  • 종속성 코드 내보내기 옵션이 없는 경량 공간
Compared with

Framer Motion (Code Library)

Trade-offs
  • 시각적 저작 캔버스 없음: 개발자는 처음부터 코드를 작성해야 합니다.
  • 설계자는 엔지니어링 도움 없이 스프링 곡선을 검사하거나 조정할 수 없습니다.
  • 웹 React만 해당: 기본 iOS SwiftUI 또는 Android Compose로 내보낼 수 없습니다.
  • 전체 레이아웃 프로젝션 엔진을 번들로 묶을 때 큰 번들 크기가 필요함

개발 인계

코드에서 사용하기

Your app loads the compiled file through the ExodeUI runtime and talks to it through inputs and events.

// 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>
  );
}

Framer Motion 개발자가 ExodeUI를 좋아하는 이유

Framer Motion는 React 개발자를 위한 뛰어난 코드 수준 애니메이션 라이브러리입니다. 그러나 복잡한 모션을 코드로 작성하는 데에는 큰 문제점이 있습니다. 즉, 코드를 작성하는 동안 애니메이션을 볼 수 없다는 것입니다. 개발자는 강성과 감쇠 값을 조정하고, 브라우저를 다시 로드하고, 상호 작용을 테스트하는 과정을 수십 번 반복해야 합니다.

  • 시행착오 마찰: 코드에서 물리적 매개변수를 조정하려면 몇 시간의 수동 실험이 필요합니다.
  • 크로스 플랫폼 무효: Framer Motion는 기본 iOS SwiftUI 또는 Android 애플리케이션에서 사용할 수 없습니다.
  • 디자이너 연결 끊김: 디자이너는 Framer Motion 코드를 직접 수정할 수 없으므로 리뷰 회의가 끝없이 이어집니다.

Topic Cluster Network

관련 개념과 도구 살펴보기

궁금한 점이 있나요?

자주 묻는 질문

실제 움직임으로 살아 있는 컴포넌트를 만드세요.

Start free in the browser or download the desktop app. Compile spring physics and state machines directly to React and SwiftUI.

무료로 사용해 보기