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 →

Pilonul 08 · Ingineria animației

Animație UI pentru fizică: știința interfețelor digitale vii

Animațiile bazate pe durată sunt moarte. Aflați de ce Apple, Google și cele mai bune echipe de produse din lume construiesc exclusiv cu fizica primăverii.

What is Animație UI in ExodeUI?

Physics UI Animation este o metodologie de inginerie de animație care modelează mișcarea interfeței cu utilizatorul folosind legile fizice din lumea reală - în primul rând oscilatoare cu arc armonici de ordinul doi - mai degrabă decât temporizatoarele de durată arbitrară. Deoarece arcurile fizice calculează poziția de repaus în mod dinamic pe baza vitezei gesturilor utilizatorului, interfețele bazate pe fizică sunt 100% întreruptibile și par naturale la atingerea umană.

Arhitectura de bază

De ce aleg inginerii și designerii ExodeUI

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

Izvoare armonice de ordinul doi

Modelați mișcarea interfeței folosind ecuații fizice naturale, mai degrabă decât milisecunde arbitrare și mânere Bezier.

Core Architecture

Transfer continuu de viteză

Gesturile de aruncare și de tragere păstrează impulsul fizic uman prin lansări și redirecționări bruște.

Core Architecture

Interacțiuni 100% întreruptibile

Utilizatorii pot atinge, trage sau redirecționează o animație în timpul zborului, fără a se bloca sau a bâlbâi vizual.

Core Architecture

Comenzi de masă, rigiditate și amortizare

Ajustați personalitatea mecanică exactă a interfeței dvs. cu glisoare vizuale intuitive și previzualizare live.

Core Architecture

Evaluare obiectivă

Cum se compară ExodeUI cu Duration-Based Animation (Easing Curves)

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

The ExodeUI Architecture

ExodeUI

Puncte forte
  • Arcurile calculează durata automat în funcție de distanță și viteză
  • Interacțiunile sunt 100% întreruptibile, fără ruptură vizuală
  • Păstrează impulsul atingerii umane pentru o senzație nativă fluidă
  • Se potrivește cu modelele native de animație iOS (CoreAnimation) și Android
Compared with

Duration-Based Animation (Easing Curves)

Trade-offs
  • Temporizatoarele cu durată fixă ​​(de exemplu, 300 ms) par nenaturale pe distanțe mici sau mari
  • Întreruperea unei animații face ca aceasta să se blocheze sau să repornească violent
  • Ignoră viteza de aruncare a degetelor, simțindu-se lent și fără răspuns
  • Necesită scrierea complexă personalizată JavaScript pentru a gestiona întreruperile gesturilor

Dezvoltator Handoff

Folosindu-l în codul dvs

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

// A physics-driven expand in React with the Motion library (motion.dev).
// Mass, stiffness and damping replace a fixed duration, and an interrupted
// animation continues from its current velocity.
import { motion } from 'motion/react';

export function PhysicsCard({ open }) {
  return (
    <motion.div
      animate={{ height: open ? 240 : 64, opacity: open ? 1 : 0.7 }}
      transition={{ type: 'spring', stiffness: 380, damping: 26, mass: 1 }}
      style={{ overflow: 'hidden' }}
    >
      <h3>Physics-driven element</h3>
      <p>Settles naturally, with no hard-coded duration</p>
    </motion.div>
  );
}

Eroarea animației bazate pe durată

Timp de decenii, animația web și digitală s-au bazat pe curbe de durată bazate pe timp: „animați acest modal de la y: 100 la y: 0 în 300 de milisecunde cu ușurință”. În timp ce acest lucru funcționează pentru redarea video pasivă, eșuează fundamental în software-ul interactiv, bazat pe atingere, din trei motive matematice:

  • Variația distanței: dacă o foaie parcurge 50 de pixeli în 300 ms, se mișcă încet. Dacă se deplasează cu 500 de pixeli în 300 ms, se mișcă de zece ori mai repede. Duratele fixe creează viteze neregulate.
  • Dezastrul de întrerupere: dacă un utilizator apucă un element în timp ce se anima, un sistem bazat pe durată blochează sau rupe curba fizicii.
  • Orbirea vitezei: atunci când un utilizator aruncă o foaie de jos în sus cu o viteză rapidă a degetului, o curbă de durată renunță la acea viteză și redă animația conservată de la viteza zero.

Cei trei parametri ai fizicii primăverii

Fiecare primăvară din ExodeUI este guvernată de trei parametri fizici simpli și intuitivi:

Rigiditate (tensiune)

Controlează cât de agresiv trage arcul către poziția de repaus țintă. Rigiditatea mai mare creează mișcări rapide și rapide.

Amortizare (frecare)

Controlează cât de multă rezistență se opune mișcării. Arcurile sub amortizate oscilează și sar; arcurile amortizate critic se așează cu depășire zero.

Masa (inertie)

Controlează cât de greu se simte elementul. Masa mai mare necesită mai multă forță pentru a accelera și mai multă amortizare pentru a se stabili.

Topic Cluster Network

Explorați concepte și instrumente conectate

Aveți întrebări?

Întrebări frecvente

Construiți componente vii cu mișcare reală.

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

Încercați gratuit