A Rust + WebAssembly toolkit for building isomorphic web applications with server-side rendering.
Percy is a Rust framework for building web applications that compile to WebAssembly, enabling developers to write frontend code in Rust. It provides server-side rendering capabilities, allowing for isomorphic applications that render on both the server and client. The framework solves the problem of building performant, type-safe web applications with Rust's memory safety and concurrency features.
Rust developers looking to build web applications, frontend engineers interested in WebAssembly performance, and teams needing isomorphic rendering with server-side capabilities.
Developers choose Percy for its seamless integration of Rust and WebAssembly, offering a type-safe alternative to JavaScript frameworks with built-in server-side rendering. Its unique selling point is enabling full-stack Rust development for the web with a declarative HTML macro and isomorphic architecture.
Build frontend browser apps with Rust + WebAssembly. Supports server side rendering.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compiles Rust to WebAssembly for near-native browser performance, leveraging Rust's memory safety and concurrency, as shown in the client-side rendering example with efficient updates via PercyDom.
Supports isomorphic applications with server-side rendering out of the box, improving SEO and initial load times, evidenced by the dedicated isomorphic example in the README.
Uses an `html!` macro for writing component views in Rust syntax with interpolation and event handlers, eliminating virtual DOM overhead, as demonstrated in the quickstart code.
Enables testing of view components directly in Rust without a browser, thanks to the framework's design, highlighted in the unit testing examples for reliable development workflows.
On stable Rust, text nodes require quotation marks unlike nightly, adding minor but unnecessary friction for developers, as admitted in the README caveat with no fixed timeline.
Initial setup involves manual steps like creating build scripts, handling WebAssembly compilation with wasm-bindgen, and multiple file configurations, which is more involved than modern JavaScript toolchains.
As a niche framework, Percy lacks the extensive library ecosystem and community support of options like React, making integration with third-party tools and finding solutions harder.