actix-web
Rouille, Rust web server middleware
actix-web | Rouille, Rust web server middleware | |
---|---|---|
180 | 15 | |
22,628 | 1,162 | |
1.4% | 1.2% | |
9.1 | 3.7 | |
6 days ago | 8 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
actix-web
-
Rusty Backends
To find answers, we wanted to get our hands dirty with three popular Rust web frameworks including rocket, axum, and actix, and get a feeling for their performance, features, and most importantly the developer experience.
- Show HN: PDF2MD – Rust+Redis+ClickHouse+VLLM conversion pipeline for PDFs
-
Actix Web - The Rust Framework for Web Development - Hello World
Actix Web site: https://actix.rs/
-
A recap about the Zentrox development
So, what framework do I use? Zentrox uses the actix_web framework which is a great library. My DevExp. with this tool was nice. It has good documentation and powerful tools. It was easy to implement for me as I was previously using Express.JS and Flask (Python). Actix also has other helper libraries for files, cookies, sessions,... which I use in my project as well.
-
Show HN: Hosting my website using my own C web server
Not to compare but i realice this is something you can do with rust with few lines
https://github.com/actix/actix-web/tree/master/actix-http
-
Understanding AML/KYC: a light primer for engineers
APIs are often the key to enabling interoperability between AML/KYC solutions and other systems. Design APIs following RESTful principles—using libraries like ExpressJs (JavaScript), Flask (Python), or Actix Web (Rust)—ensuring they are stateless and support the JSON/XML formats expected by most systems. Use Swagger to generate detailed documentation for RESTful APIs to facilitate integration and ensure your APIs are easily consumable by other systems. If you’re building GraphQL APIs, using tools like Apollo Server, Prisma, or Graphene will allow for self-documenting APIs (through GraphQL introspection).
- Actix-Web: v4.8.0
- Actix-Web: v4.6.0
-
Empowering Web Privacy with Rust: Building a Decentralized Identity Management System
Actix Web Documentation: Detailed documentation on using Actix-web, including examples and best practices for building web applications with Rust.
-
Ntex: Powerful, pragmatic, fast framework for composable networking services
I can't speak to the "is it any good" part, but (after a bit of research) I can share what I've found. I'll try to represent things as best as I understand, but I may have some finer details mixed up.
ntex is written by the same person that started actix-web, Nikolay Kim (fafhrd91 on GitHub). There was a bunch of drama a while back due to actix-web using (what many reasoned to be) avoidable unsafe code, which was later found to be buggy. Nikolay was pilloried online, resulting in him transferring leadership of actix-web to someone else. ntex is, as I understand it, essentially Nikolay picking back up on his ideals for what could have been actix-web, if people hadn't pushed him out of his own project.
How ntex compares to the pre-/post-leadership change of actix-web, I don't know.
Here are some jumping points if you want more of the backstory.
https://www.theregister.com/2020/01/21/rust_actix_web_framew...
https://steveklabnik.com/writing/a-sad-day-for-rust
https://github.com/actix/actix-web/issues/1289
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 ?
What are some alternatives?
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
tiny-http - Low level HTTP server library in Rust
Rocket - A web framework for Rust.
ntex - framework for composable networking services
Rustless - REST-like API micro-framework for Rust. Works with Iron.