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 は Web 上では React に制限されます。 ExodeUI は、同一の物理演算を React、React Native Reanimated、および Apple SwiftUI にエクスポートします。

Core Architecture

連続ジェスチャの物理学

複雑なドラッグ境界、フリング速度、磁気スナップをキャンバス上で視覚的に作成します。

Core Architecture

マルチフレームワークの統合

既存のモーション (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 Web に加えて、React Native およびネイティブ SwiftUI に出力します。
  • デザイナーとエンジニアは同じビジュアル モーション ファイルで共同作業します
  • 依存関係のないコードエクスポートオプションを備えた軽量のフットプリント
Compared with

Framer Motion (Code Library)

Trade-offs
  • 視覚的なオーサリング キャンバスがない: 開発者はコードを最初から作成する必要があります
  • 設計者はエンジニアリングの支援なしにスプリング曲線を検査したり調整したりすることはできません
  • Web 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.

ExodeUI を無料で試す