Component System
Build modern Web apps with Zig’s expressive component framework.
The framework that transcends boundaries.
Build modern Web apps with Zig’s expressive component framework.
Automatic Wasm optimizations are all built-in
Tailwind CSS support. Currently through only Play CDN
Automatically generate Wasm from Zig and control it seamlessly on the Web.
Routing is clearly defined by file placement.
Boost productivity with our powerful developer-friendly CLI.
zframe is a bold experiment in modern Web development—a Zig-powered frontend framework that lets you harness WebAssembly without worrying about layers or boundaries.
You could get started with just the official Zig brief tutorial—if you enjoy living on the edge. But honestly, learning the Zig language properly is a smart move, and we highly recommend it!
const z = @import("zframe")
const c = @import("components");
const Head = c.head.Head;
const node = z.node;
const Layout = @import("components").layout.Layout;
fn about() node.Node {
const h1 = node.createNode(.h1);
const p = node.createNode(.p);
const div = node.createNode(.div);
return div.init(.{
h1.init("About").setClass("text"),
p.setClass("hoge")
.init("zframe is a opensource and secure Web Frontend Framework written in Zig."),
});
}
const handler = Handler.init(
.webassembly,
.{
.filename = "one.wasm",
.then = .{
.filename = "alert.js",
.func = "test",
},
},
);
try z.render.render(@src().file, index().addHandler("webassembly", handler));