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 →
All Packages
Flutter

Flutter Runtime

Official Flutter package embedding the ExodeUI runtime via webview_flutter.

exodeui_flutter
Installation

Add SPM / pubspec dependency manually

Getting Started

The Flutter runtime renders ExodeUI animations through a high-performance headless JavaScript runtime.

pubspec.yaml

yaml
dependencies:
  flutter:
    sdk: flutter
  exodeui_flutter:
    path: ../packages/flutter

Usage

dart
import 'package:flutter/material.dart';
import 'package:exodeui_flutter/exodeui_flutter.dart';

class MyAnimationScreen extends StatelessWidget {
  final String myArtboardJson = '{"layers": [...]}';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: SizedBox(
          width: 300,
          height: 300,
          child: ExodeUICanvas(
            artboardJson: myArtboardJson,
            fit: 'Contain',
            alignment: 'Center',
            onReady: () => print("Engine Ready!"),
            onTrigger: (name, anim) => print("Trigger: $name"),
          ),
        ),
      ),
    );
  }
}

Imperative State Management

dart
final GlobalKey<ExodeUICanvasState> canvasKey = GlobalKey();

ExodeUICanvas(
  key: canvasKey,
  artboardJson: myJson,
);

canvasKey.currentState?.fireTrigger("Click");
canvasKey.currentState?.setInputNumber("Speed", 2.0);
canvasKey.currentState?.setInputBool("IsDarkMode", true);