slm
sailfish
slm | sailfish | |
---|---|---|
3 | 5 | |
196 | 717 | |
0.0% | 3.1% | |
0.0 | 5.4 | |
over 1 year ago | about 1 month ago | |
JavaScript | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
slm
-
New crate: html - typed html constructors for Rust
Bear in mind that, even in JavaScript, where JSX is a thing, there exist things like Slm which do templating like this:
-
Any web frameworks that could compare to Symfony?
Personally, I'd recommend Maud if you don't need something with runtime reloading. Not only is it much faster, it implements a template language that is effectively the Rust-syntax equivalent to Slim or Haml using a procedural macro, so you get compile-time verification that your HTML output is well-formed.
-
Anyone from a Typescript/React background who tried out Rust for the 1st time?
For templating, Maud is fast, gives compile-time well-formedness guarantees, and outputs minified HTML by default as a side-effect of it being based on Rust macros. (It's of a similar design philosophy to Slim and Haml)
sailfish
-
Hyper – A fast and correct HTTP implementation for Rust
Any recommendations for rust template engines? I'd like something that can easily render labeled fragments of a template instead of requiring me to split a page into a dozen little files. Kinda like inline {{block}} definitions in Go's html/template. Speed is also nice.
From template-benchmark-rs [0] I found sailfish [1] (fast, but no fragments(?)). render-rs [2] and syn-rsx [3] (2022) both let you write html in rust macros which is cool (maybe that can substitute for fragments?). Then there's gtmpl-rust [4] which is just Go templates reimplemented in rust.
[0]: https://github.com/rosetta-rs/template-benchmarks-rs
[1]: https://github.com/rust-sailfish/sailfish
[2]: https://github.com/render-rs/render.rs last updated Jul 2020
[3]: https://github.com/stoically/syn-rsx last updated Nov 2022
[4]: https://github.com/fiji-flo/gtmpl-rust
-
Full-Stack-Rust: Which approach in Frontend?
Sailfish (very fast, but lots of unsafe usages)
-
Any web frameworks that could compare to Symfony?
(Sailfish is fastest, but it's syntax is of the more traditional <%= msg %> flavour and Markup.rs is second-fastest with a Maud-like syntax but the author apparently doesn't have time to rewrite the syntax reference, so you have to follow a link from the open issue to an old version of the README.)
-
What has been your experience creating a web app with Rust vs other languages
Using [Actix](actix.rs/), Sailfish, thiserror, and a bunch of supporting libraries reminds me of when I was building a project using Pylons and Mako (now replaced with Pyramid), except without the SQL.
-
What is the idiomatic way of embed files into Rust binary?
If you're OK with a template engine that can't be used in any sort of "if debug builds, support hot reloading" mode, Sailfish compiles its templates to native code and it's the fastest option around.
What are some alternatives?
template-benchmarks-rs - Collected benchmarks for templating crates written in Rust
askama - Type-safe, compiled Jinja-like templates for Rust
html - Type-safe HTML support for Rust
jelly-actix-web-starter - A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.
SoundcoreManager - Control Soundcore headphones with the power of Rust.
rust-embed - Rust Macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.
elm-css - Typed CSS in Elm.
diesel - A safe, extensible ORM and Query Builder for Rust
lewp-rs - Generate your HTML5 website technically optimized and always valid without losing the algorithmic comfort and flexibility.
tp-note - Minimalistic note taking: save and edit your clipboard content as a note file (Gitlab mirror)
Haml - HTML Abstraction Markup Language - A Markup Haiku