Luna isn't just another framework. It's a shift in how we build. Zero-runtime overhead, type-safe, and compiled to ultra-compact WebAssembly.
Developers are building the future with Luna.
No virtual DOM. No diffing. Direct DOM updates at the signal level deliver real performance gains without the overhead.
Ship 0KB of JavaScript by default. Hydrate only the interactive parts of your page with smart loading strategies.
Leverage the platform. First-class support for WebComponents SSR and Hydration, moving beyond framework silos.
Catch errors before they happen. A sound type system that compiles to ultra-fast WebAssembly.
Ship less, do more. Control exactly when your components wake up.
Hydrates as soon as the page loads. Best for critical UI elements.
Hydrates only when the component enters the viewport. Perfect for heavy charts.
Hydrates when the main thread is free. Ideal for non-critical interactivity.
A unified suite for the modern web.
The foundation for high-performance documentation and marketing sites. Built-in Island support.
Step up to full SSR and ISR when you need it. Progressive architecture that scales.
Familiar syntax, compiled performance.
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 })
}
Join developers building ultra-performant UI with Luna and MoonBit.