The Future of UI is
Light & Native
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.
Community Love
Developers are building the future with Luna.
Fine-grained Reactivity
No virtual DOM. No diffing. Direct DOM updates at the signal level deliver real performance gains without the overhead.
Island Architecture
Ship 0KB of JavaScript by default. Hydrate only the interactive parts of your page with smart loading strategies.
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. A sound type system that compiles to ultra-fast WebAssembly.
Smart Hydration Triggers
Ship less, do more. Control exactly when your components wake up.
Immediate
Hydrates as soon as the page loads. Best for critical UI elements.
Lazy
Hydrates only when the component enters the viewport. Perfect for heavy charts.
Optimized
Hydrates when the main thread is free. Ideal for non-critical interactivity.
The Luna Ecosystem
A unified suite for the modern web.
Static Site Gen (SSG)
The foundation for high-performance documentation and marketing sites. Built-in Island support.
Full-stack Framework
Step up to full SSR and ISR when you need it. Progressive architecture that scales.
Developer Experience
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 })
}
Ready to build the future?
Join developers building ultra-performant UI with Luna and MoonBit.