61 个版本

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 日

#web-dev 排名 30

Download history 105/week @ 2024-03-11 84/week @ 2024-03-18 87/week @ 2024-03-25 145/week @ 2024-04-01 68/week @ 2024-04-08 90/week @ 2024-04-15 66/week @ 2024-04-22 64/week @ 2024-04-29 81/week @ 2024-05-06 53/week @ 2024-05-13 77/week @ 2024-05-20 56/week @ 2024-05-27 55/week @ 2024-06-03 39/week @ 2024-06-10 62/week @ 2024-06-17 62/week @ 2024-06-24

每月下载 228
4 个crate中使用(通过perseus

MIT 许可证

49KB
743

Perseus

Book API Docs Crate Page Top Language Discord Chat

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

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

它是什么样的?

这是 Perseus 的一瞥(更多请参阅 这个 微型 示例

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和出色的开发体验高效创建超级快速应用的能力!

动机

前端开发中缺乏支持除SPA和客户端渲染之外更多功能的Rust框架,因此Perseus诞生了。我们需要类似NextJS的Wasm。但为什么只到这里呢?

贡献

我们感谢所有类型的贡献,有关更多信息,请查看我们的贡献指南!此外,请务必遵守我们的行为准则

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

没有这些辛勤工作的人,Perseus就不会成为可能!

许可

请参阅LICENSE

依赖项

约2MB
约43K SLoC