POWERED BY MOONBIT

The Future of UI is
Light & Native

Fine-grained reactive UI for MoonBit. Type-safe end to end, compiled to JavaScript, and small: a counter app is 5.4 KB min+gzip.

Fine-grained Updates
Compiles to JS
Type Safety

Fine-grained Reactivity

Signal updates write to the DOM directly, touching only the nodes that changed instead of re-rendering and diffing a whole tree.

Island Architecture

Pages ship about 2 KB of inline JavaScript before any island loads. Interactive parts hydrate on their own schedule.

WebComponents First

Leverage the platform. First-class support for WebComponents SSR and Hydration, moving beyond framework silos.

MoonBit Type Safety

Catch errors before they happen. MoonBit's type system covers markup, props and state, and compiles to JavaScript.

Smart Hydration Triggers

Ship less, do more. Control exactly when your components wake up.

client:load

Immediate

Hydrates as soon as the page loads. Best for critical UI elements.

client:visible

Lazy

Hydrates only when the component enters the viewport. Perfect for heavy charts.

client:idle

Optimized

Hydrates when the main thread is free. Ideal for non-critical interactivity.

The Luna Ecosystem

A unified suite for the modern web.

Sol SSG

Static Site Gen (SSG)

The foundation for high-performance documentation and marketing sites. Built-in Island support.

Sol

Full-stack Framework

Step up to full SSR and ISR when you need it. Progressive architecture that scales.

~0.8 KB Hydration Loader (gzipped)
~1.2 KB Island Runtime (gzipped)
60 FPS 100x100 Grid Demo
~0 ms Runtime Overhead

Developer Experience

Familiar syntax, compiled performance.

src/components/counter.mbt
import { createSignal, createEffect } from "@luna_ui/luna"

pub fn counter() -> Unit {
  let (count, setCount) = createSignal(0)

  // Direct DOM update - No VDOM diffing
  createEffect(fn() { 
    console.log(count.value()) 
  })

  // Typesafe updates
  setCount(1)
  setCount(fn(c) { c + 1 })
}

Ready to build the future?

Join developers building ultra-performant UI with Luna and MoonBit.