LanguageSuomi
Pilari 07 · Kuinka se toimii
.exode:stä sovellukseesi: Kuinka ExodeUI-tiedostoja rakennetaan ja toistetaan
Yksi avoin tiedosto suunnittelusta tuotantoon. Ajonaika toistaa sen, koodisi ohjaa sitä.
What is .exode:stä sovellukseesi: in ExodeUI?
ExodeUI ei luo React-, Swift- tai Flutter-lähdekoodia. Suunnittelet avoimessa .exode JSON -tiedostossa; tuotantoa varten se voidaan kääntää pienemmäksi .bexode-tiedostoksi, ja runtime-paketti toistaa sen kankaalle. Koodisi ohjaa sitä asettamalla tuloja ja kuuntelemalla tapahtumia. Valmistamme ExodeUI.
Ydinarkkitehtuuri
Miksi insinöörit ja suunnittelijat valitsevat ExodeUI
Design, logic and motion in one file that runs inside your app.
Avoimen lähdekoodin tiedosto
.exode-tiedosto on JSON, joka kuvaa tasot, tilat, siirtymät, jouset, tulot ja tapahtumat. Kehittäjät voivat lukea sitä ja tekoälytyökalut voivat muokata sitä.
Valmistettu tuotantoa varten
Sama kohtaus voidaan koota pienemmäksi .bexode-tiedostoksi lähetettäväksi sovelluksessasi.
Suoritusaika kehystä kohti
Ajonaikaiset paketit malleille React, Vue, Svelte, Angular, Solid, React Native, SwiftUI ja Flutter toistavat tiedoston.
Koodisi ohjaama
Aseta loogiset arvot, numerot ja triggerit sovelluksen tilasta ja kuuntele tapahtumia, joita animaatio lähettää takaisin.
Objektiivinen arviointi
Miten ExodeUI verrattuna Rebuilding motion by hand
Where ExodeUI is stronger, and what to weigh before you switch.
ExodeUI
- Suunniteltu tiedosto on lähetetty tiedosto, joten mitään ei menetetä vaihdossa
- Tilat ja logiikka matkustavat animaation mukana
- Yksi tiedosto toimii kahdeksassa kehysajon aikana
- Suunnittelijat voivat muuttaa ajoitusta ilman koodin muutosta, jos syötteet ja tapahtumat pysyvät samoina
Rebuilding motion by hand
- Kehittäjät luovat jokaisen siirtymän uudelleen viitteestä
- Jokainen suunnittelumuutos vaatii uuden koodimuutoksen
- Jokainen alusta rakennetaan uudelleen erikseen
- Käsin kirjoitettu koodi antaa täyden hallinnan eikä ylimääräistä ajoaikaa, mikä on joskus oikea kompromissi
Kehittäjän vaihto
Käytä sitä koodissasi
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>
);
}Mitä tapahtuu editorin ja sovelluksesi välillä
ExodeUI-komponentti käy läpi neljä vaihetta:
- 1. Suunnittelu: rakennat tasoja, tiloja, siirtymiä, jousia ja logiikkaa selaimessa tai työpöytäeditorissa. Teos tallennetaan avoimena .exode JSON -tiedostona.
- 2. Kääntäminen (valinnainen): tuotantoa varten kohtaus voidaan kääntää pienemmäksi .bexode-tiedostoksi.
- 3. Toista: Runtime-paketti kehyksellesi lataa tiedoston ja piirtää sen kankaalle.
- 4. Ohjaus: koodisi asettaa syötteitä, kuten Loading boolean- tai Success-triggerin, ja kuuntelee animaation lähettämiä tapahtumia.
Kun käsin kirjoitettu koodi on parempi valinta
Ajoaika ei ole aina oikea. Yksittäiseen häivytykseen tai yksinkertaiseen leijumiseen CSS tai kirjasto, kuten Motion, on kevyempi eikä vaadi ylimääräistä pakettia. ExodeUI on hyödyllisin komponenteille, joilla on useita tiloja, fysiikkaa tai logiikkaa, joita suunnittelijat haluavat jatkaa.
Topic Cluster Network
Tutustu yhdistettyihin käsitteisiin ja työkaluihin
Onko sinulla kysyttävää?
Usein kysytyt kysymykset
Rakenna eläviä komponentteja todellisella liikkeellä.
Start free in the browser or download the desktop app. Compile spring physics and state machines directly to React and SwiftUI.