Rouille, Rust web server middleware
Iron
Our great sponsors
Rouille, Rust web server middleware | Iron | |
---|---|---|
15 | 8 | |
1,071 | 6,122 | |
- | 0.0% | |
1.0 | 0.0 | |
27 days ago | over 1 year ago | |
Rust | Rust | |
Apache License 2.0 | 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.
Rouille, Rust web server middleware
- Rouille, a Rust web micro-framework
-
Async rust – are we doing it all wrong?
Your CRUD web application server almost certainly doesn't need async Rust. Using a blocking HTTP server is not "might be a good idea", it simply is a good idea.
I recommend Rouille for this: https://github.com/tomaka/rouille. In case you are worried about performance, check the benchmark. Blocking Rouille is faster than builtin async server in Node.js.
-
Best backend web frameworks with blocking io (i.e. not async)?
As you say, the majority of the web ecosystem in Rust has moved to async - but if you’re happy to stray a bit from the beaten path then rouille might do the trick.
-
An Express-inspired web framework for Rust
In strongly typed languages like Rust, composing smaller libraries is usually quite painless, so you don't need a large framework.
Personally for backend Rust I use rouille[0] for the server (it's very simple and async-free), askama[1] for compile-time HTML templates and (if a SPA is unavoidable, as that is of course always to be avoided if at all possible) yew[2] for client-side WASM.
Now this stack is what I like personally, but there are many options that you can combine, some more full-featured than others. Check out https://www.arewewebyet.org/ for a partial overview.
[0]: https://github.com/tomaka/rouille
[1]: https://github.com/djc/askama
[2]: https://yew.rs/
-
Which Rust web framework to choose in 2022 (with code examples)
rouille
I'd like to put in a word for a simple, sync framework such as rouille. The compile times are much, much better, the number of dependencies is much smaller, the stuff it's built on (the standard library) is extensively tested and extremely reliable. Kernel context switches are slower than userspace thread scheduling, but not much slower, and as long as your services aren't just shoving bytes from one place to another (i.e. actually doing some computation) the time taken for a context switch vanishes into noise. A lot of benchmarks test how quickly a web service can move bytes, which (if your business logic is non-trivial) actually isn't the most critical factor.
-
Hey rustaceans, which web framework you guys suggest for a small application?
I don't have any Rust-relevant experience here, but if I wanted to build a web server in Rust and was okay with "reasonable" performance, I'd probably give rouille a try first.
-
The Rustacean way to build a complete web app?
Rouille is fairly solid in my experience. Save the pain of async and spend it building software that works. Honestly with Rust's lack of GC you get predictable response times already.
- Des avis sur mon cadeau?
-
vial: a really tiny web framework
How would you differentiate it from let's say Rouille ?
Iron
-
Options for thread-per-request or thread-per-connection web servers?
I've written many things using Iron and it's been fine. It's not particularly developed any more but I am not aware of any major outstanding issues.
-
Rocket v0.5-rc3 is out!
I don't miss the time when we basically only had Iron
-
Which Rust web framework to choose in 2022 (with code examples)
iron
-
How do I chiose rust web framework in 2022?
There're many web framework in rust, such as SergioBenitez/Rocket , actix/actix-web ,poem-web/poem , iron/iron . How do I chiose, anyone suggestion?
-
Noob Help
I'm not sure which definition of backend you are thinking of here. In case you simply mean "server side", here are a couple of libraries that might be of use: iron - been a while since I used it, used it for a couple smaller projects rocket (nightly only) - no personal experience, but a lot of people seem to like it diesel - a bit complex to wrap your head around, but once you get the idea it's really nice. Definitely check out the examples.
-
Whats your favourite open source Rust project that needs more recognition?
it's taken by a web framework https://github.com/iron/iron
-
Building a shared vision for Async Rust
Your comment touches on a few misconceptions I see a lot.
Firstly, `reqwest` exposes both an async and a synchronous API, allowing the developer to choose which one to use. They are largely interchangeable code-wise. [1]
Secondarily, and more broadly, async is possible to opt out of. You must understand that most web and network related libraries will be async by default for performance, because people who write in Rust and people who write web servers typically care greatly about performance. This is the intersection of those two groups. That being said, there are options outside of that ecosystem. [2]
If you truly want to use an asynchronous library without migrating your application to run entirely on an async runtime like tokio, you can run it inside of a synchronous function without much trouble. I've put together a playground link for you. [3]
1. https://docs.rs/reqwest/0.11.2/reqwest/blocking/index.html
2. Iron: https://github.com/iron/iron
-
Porting a serverless chatbot from Python to Rust
There are several web frameworks for Rust: Rocket, Actix, Warp, Iron - but only Actix has released a stable 1.0 release, and there has been considerable controversy over how it uses unsafe Rust.
What are some alternatives?
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
tiny-http - Low level HTTP server library in Rust
Rocket - A web framework for Rust.
Gotham - A flexible web framework that promotes stability, safety, security and speed.
Nickel - An expressjs inspired web framework for Rust
Sapper - A lightweight web framework built on hyper, implemented in Rust language.
Rustless - REST-like API micro-framework for Rust. Works with Iron.
The FastCGI Rust implementation. - Native Rust library for FastCGI
handlebars-iron - Handlebars middleware for Iron web framework
frank_jwt - JSON Web Token implementation in Rust.