-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
日报daily reportdaily report
Description
ZX
ZX 是一个用于构建 Web 应用程序的 Zig 库,它采用类似 JSX 的语法。可以使用熟悉的 JSX 模式编写声明式 UI 组件,这些组件会被转译为高效的 Zig 代码。
ZX 结合了 Zig 的强大性能和 JSX 的表达力,使您能够构建快速、类型安全的 Web 应用程序。ZX 使用 http.zig 创建高性能的 HTTP 服务器,使其比 Next.js 等框架快得多。
快速示例
pub fn Page(allocator: zx.Allocator) zx.Component {
const is_loading = true;
const chars = "Hello, World!";
return (
<body>
<section>
{if (is_loading) (<h1>Loading...</h1>) else (<h1>Loaded</h1>)}
</section>
<section>
{for (chars) |char| (<span>{[char:c]}</span>)}
</section>
<section>
{for (users) |user| {
(<p>{user.name} - {[user.age:d]} -
{switch (user.user_type) {
.admin => ("Admin"),
.member => ("Member"),
}}
</p>)
}}
</section>
</body>
);
}
const zx = @import("zx");
const User = struct {
const UserType = enum { admin, member };
name: []const u8,
age: u32,
user_type: UserType,
};
const users = [_]User{
.{ .name = "John", .age = 20, .user_type = .admin },
.{ .name = "Jane", .age = 21, .user_type = .member },
};特性
- 类似 JSX 的语法 - 使用熟悉的 JSX 模式编写 UI 组件。
- 类型安全 - 完整的 Zig 类型检查和安全性。
- 高性能 - 由 Zig 和
http.zig提供支持,实现最高速度。 - 服务器端渲染 (SSR) - 在服务器上生成 HTML。
- 静态站点生成 (SSG) - 在构建时预渲染页面。
类似项目
- Zap
- http.zig (ZX 的后端)
- tokamak
- zig-router
- zig-webui
- ZTS
- Zine
- Zinc
- zUI
文档
有关完整的文档、示例和指南,请访问 https://zx.nuhu.dev
加入我们
Zig 中文社区是一个开放的组织,我们致力于推广 Zig 在中文群体中的使用,有多种方式可以参与进来:
- 供稿,分享自己使用 Zig 的心得
- 改进 ZigCC 组织下的开源项目
- 加入微信群、Telegram 群组
Metadata
Metadata
Assignees
Labels
日报daily reportdaily report