#ssr #web-framework #ssg #web-dev #front-end #web-frontend

perseus

一个支持 SSR 和 SSG 的闪电般快速的网页前端开发平台

66 个版本

0.4.2 2023 年 5 月 18 日
0.4.0 2023 年 4 月 9 日
0.4.0-beta.222023 年 3 月 12 日
0.4.0-beta.112022 年 11 月 6 日
0.3.0-beta.182021 年 11 月 28 日

#187 in Web 编程

Download history 112/week @ 2024-03-11 95/week @ 2024-03-18 83/week @ 2024-03-25 143/week @ 2024-04-01 66/week @ 2024-04-08 87/week @ 2024-04-15 61/week @ 2024-04-22 58/week @ 2024-04-29 74/week @ 2024-05-06 50/week @ 2024-05-13 75/week @ 2024-05-20 49/week @ 2024-05-27 54/week @ 2024-06-03 36/week @ 2024-06-10 57/week @ 2024-06-17 52/week @ 2024-06-24

每月 207 次下载
8 crates 中使用

MIT 许可证

785KB
11K SLoC

Perseus

Book API Docs Crate Page Top Language Discord Chat

Perseus 是一个由 Rust 编写的快速前端网页开发框架,支持在构建时、请求时、增量式或您希望的方式生成页面状态!它支持使用 Sycamore 进行反应性,并在此基础上提供了一个用于开发现代应用的完整框架。

  • 📕 支持静态生成(仅提供静态资源)
  • 🗼 支持服务器端渲染(提供动态资源)
  • 🔧 支持时间和/或自定义逻辑后的重新验证(更新渲染的页面)
  • 🛠️ 支持增量再生(按需构建)
  • 🏭 开放构建矩阵(使用任何渲染策略与其他任何内容一起使用)
  • 🖥️ CLI 工具,让您轻松构建应用程序并充满信心
  • 🌐 内置对 Fluent 的完全支持
  • 🏎 桌面和超过 95% 移动端的 Lighthouse 评分均为 100
  • ⚡ 支持开发中任何代码更改后的热状态重新加载(重新加载您整个应用程序的状态,据我们所知,Perseus 是世界上唯一能够做到这一点的框架)

它是什么样的?

以下是对 Perseus 的简要介绍(更多信息请参见 “tiny” 示例

use perseus::prelude::*;
use sycamore::prelude::*;

#[perseus::main(perseus_axum::dflt_server)]
pub fn main<G: Html>() -> PerseusApp<G> {
    PerseusApp::new()
        .template(
            Template::build("index")
                .view(|cx| {
                    view! { cx,
                        p { "Hello World!" }
                    }
                })
                .build()
        )
}

查看 该书籍 了解如何将其转换为您的下一个应用程序!

快速入门

如果您想立即开始使用 Perseus,运行以下命令,您将很快拥有一个基本的应用程序!(或者更准确地说,在 Cargo 编译完所有内容之后...)

cargo install perseus-cli
perseus new my-app
cd my-app/
perseus serve -w

然后,跳转到 https://127.0.0.1:8080 并查看一个占位符应用程序,它展示了所有的辉煌!如果你更改了一些代码,它会自动更新,浏览器会自行重新加载。(不过,重建可能需要一段时间,请参阅这里了解如何加快速度。)

目标

支持所有主要的渲染策略,并为开发者提供使用 Rust 和出色的开发者体验高效创建超级快应用的工具!

动机

目前缺少支持除单页面应用和客户端渲染之外的前端开发 Rust 框架,因此诞生了 Perseus。我们需要类似 NextJS 的 Wasm。但为什么要止步于此呢?

贡献

我们感激所有类型的贡献,请查看我们的贡献指南以获取更多信息!此外,请确保遵循我们的行为准则

你还可以在我们的Sycamore Discord 服务器频道上讨论 Perseus。

没有这些辛勤工作的人,Perseus 就不可能实现!

许可证

请参阅LICENSE

依赖项

~11–17MB
~319K SLoC