frender

Crates.io docs.rs GitHub license GitHub stars

frender logo

Functional Rendering: React in Rust

frender is still in alpha and it's api might change. For now it is recommended to specify the exact version in Cargo.toml. Before updating, please see the full changelog in case there are breaking changes.

There are some example apps in examples folder. You can preview them at this site.

You can quick start with the frender book.

Features

  • Functional components and hooks
  • Statically typed props
  • Forced immutability with Rc

Future Development Plans

  • Clarify static text / uncached text / cached text for csr.
  • Documentation
  • Intrinsic svg components
  • Export frender components to js
  • Server Side Rendering
  • Type checking for CssProperties
  • Css-in-rust (For example, integrate with emotion/react)
  • Performance benchmarking

Contributing

frender is open sourced at GitHub. Pull requests and issues are welcomed.

You can also sponsor me and I would be very grateful :heart:

Buy Me a Coffee at ko-fi.com

Development

Files in crates/frender-html/src/html/props_builders are generated from mod props_builders in crates/frender-html/src/html.rs with the following command:

cargo run --bin frender-html-expand