aethium

module
v0.0.0-...-883a1dc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2026 License: AGPL-3.0

README ΒΆ

Aethium

A minimal, high-performance UI framework where the UI is written entirely in Go, rendered via an immediate-mode canvas, and deployed to web, mobile, and desktop targets using Flutter as the primary rendering engine.


Framework Overview

Feature Web (Flutter) Mobile (Flutter) Desktop (Flutter)
Toolchain Flutter + Go Flutter + Go Flutter + Go
Rendering Flutter Web Flutter Native Flutter Native
Binary Size ≀ 2 MB ≀ 50 MB ≀ 100 MB
Platform Support All modern browsers Android & iOS Windows, macOS, Linux
Hot Reload βœ… βœ… βœ…
Rich Widgets βœ… βœ… βœ…
Native Performance βœ… βœ… βœ…

Why Aethium? (The Go-First Model)

Aethium's key differentiator is its unified Go programming model with Flutter as the rendering engine. Unlike other frameworks that force a split between "frontend" and "backend", Aethium lets you build the entire application, including the UI, in pure Go while leveraging Flutter's rich widget ecosystem and native performance.

Comparison Table
Feature Aethium (Flutter) React Native Flutter Wails Tauri Electron
UI Language Go JavaScript/TypeScript Dart JS/TS/CSS JS/TS/CSS JS/TS/CSS
Backend Language Go JavaScript/TypeScript Dart Go Rust JS/TS (Node)
Rendering Engine Flutter Native Flutter Web DOM Web DOM Web DOM
Cross-Platform βœ… (Web, Mobile, Desktop) βœ… (Mobile) βœ… (Mobile, Web, Desktop) βœ… (Desktop) βœ… (Desktop) βœ… (Desktop)
Hot Reload βœ… βœ… βœ… βœ… βœ… βœ…
Native Performance βœ… βœ… βœ… ⚠️ ⚠️ ⚠️
Binary Size Small (≀ 100MB) Medium Medium Small Small Large (120MB+)
JS Engine None Required None Required Required Required

Core Principles

  • Single Codebase: Write once in Go, run on the web and desktop with identical visuals.
  • Immediate-Mode: No DOM, no widget tree. Pure draw command stream for maximum performance.
  • Fine-Grained Reactivity: Signal-based updates ensure only the necessary parts of the UI re-render.
  • Zero Dependencies: The core framework is built entirely on the Go standard library and JS built-ins.

Quick Start

# Install the CLI
go install github.com/A-Solo-Engineer/aethium/cmd/aethium@latest

# Create a new project
aethium new --module example.com/myapp

# Build for your target
aethium build --target web      # For Web (Flutter)
aethium build --target android  # For Android (Flutter)
aethium build --target ios      # For iOS (Flutter)
aethium build --target windows  # For Windows (Flutter)
aethium build --target macos    # For macOS (Flutter)
aethium build --target linux    # For Linux (Flutter)
aethium build --target all      # For all platforms

Documentation

Guide Description
Architecture Technical design, Flutter integration, and system diagrams.
State Management Signals, computed values, effects, and memory pooling.
Usage Guide API reference, component lifecycle, and Flutter examples.
Build System Flutter builds, platform-specific configurations, and deployment.

Project Structure

graph TD
    A[App Code] --> B[Reactive Context]
    A --> C[Scene Graph]
    B --> D[Runtime]
    C --> D
    D --> E[DrawList]
    E --> F[Flutter Backend]
    F --> G[Flutter Web]
    F --> H[Flutter Mobile]
    F --> I[Flutter Desktop]

Flutter Integration

Aethium now uses Flutter as its primary rendering engine, providing:

🎨 Rich Widget Ecosystem
  • Access to all Flutter widgets and components
  • Material Design and Cupertino support
  • Customizable themes and styling
  • Animation and gesture support
πŸš€ Cross-Platform Support
  • Web: Deploy to any modern browser
  • Mobile: Native Android and iOS apps
  • Desktop: Native Windows, macOS, and Linux applications
πŸ”§ Development Experience
  • Hot reload and hot restart
  • Comprehensive debugging tools
  • Rich developer tools and inspector
  • State management integration
Example: Flutter Integration
package main

import (
    "github.com/A-Solo-Engineer/aethium/platform/flutter_unified"
    "github.com/A-Solo-Engineer/aethium/runtime"
)

func main() {
    // Create Flutter backend for web
    backend := flutter_unified.NewFlutterUnifiedBackend(800, 600, flutter_unified.PlatformWeb)
    
    // Create runtime
    rt := runtime.NewRuntime(backend)
    
    // Run your application
    // ...
}

License

AGPL-3.0

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL