The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Rust Web programming Projects
-
Project mention: Top 10 Rusty Repositories for you to start your Open Source Journey | dev.to | 2023-12-19
4. Rocket
-
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Project mention: The Linux Kernel Prepares for Rust 1.77 Upgrade | news.ycombinator.com | 2024-02-18
> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
-
gutenberg
A fast static site generator in a single binary with everything built-in. https://www.getzola.org
Project mention: Ask HN: Looking for lightweight personal blogging platform | news.ycombinator.com | 2024-02-06If I were to start again from scratch, I'd likely use Zola as SSG (https://www.getzola.org/)
-
Project mention: The Linux Kernel Prepares for Rust 1.77 Upgrade | news.ycombinator.com | 2024-02-18
> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
-
Project mention: Options for thread-per-request or thread-per-connection web servers? | /r/rust | 2023-04-22
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.
-
Rust has several, production ready, REST API frame works.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Practically every Rust web frontend I've seen takes a react-like approach, with "hooks" to store all of the state in. The now-abandoned Seed and Yew's struct components use a message-passing approach, where the state is stored as member variables on the struct representing the component that are updated based on messages dispatched by event handlers. There's also egui, which has a completely different paradigm that involves making the UI from scratch every frame based on the app's current state. It's not a web framework the same way as the others, but it can draw its UI to a web canvas just fine.
-
-
Project mention: Announcing Nickel 1.0, a configuration language written in (and usable from) Rust | /r/rust | 2023-06-08
There's a popular web framework called Nickel already: https://nickel-org.github.io/
-
Moreover, I especially like where Rust is right now in the web space. It really feels like there’s a lot of smart people working on the next generation of web development tools - it feels like the place to be. There are a range of great open-source web dev tools that are just reaching critical levels of maturity. Axum, which I used to build Prodzilla, feels ready for out of the box web dev, and is crazy-performant, as I write about later. More recently available is Loco, a Rails-like framework for building web applications in Rust that's picking up steam. And in dev-tooling and hosting there’s Shuttle, a 1-line hosting solution for Rust backends.
-
-
Project mention: Top Rust Web Frameworks: Rocket, Actix-web, Tide, Warp, and Gotham | dev.to | 2023-06-14
Gotham Gotham, Rust's flexible web framework, is a trustworthy ally for developers looking for safety, security, and extensibility in their web applications. Gotham provides developers with a solid foundation for building secure and efficient web solutions, thanks to its powerful routing system and support for asynchronous request handling. Gotham helps developers avoid common pitfalls and ensures code integrity by prioritizing safety. Its extensible design makes it simple for developers to customize and enhance their applications, making Gotham an excellent choice for projects requiring flexibility and a focus on security.
-
-
I also enjoyed using ureq as an http client.
-
-
-
-
Project mention: Hurl 3.0.0, run and test HTTP requests with plain text and curl | /r/rust | 2023-05-06
Under the hood, Hurl uses curl with Rust bindings (thanks to the awesome curl-rust crate)
-
-
-
-
Checkout this crate https://crates.io/crates/jsonschema
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust Web programming related posts
- JWT Authentication in NodeJS
- Prodzilla: From Zero to Prod with Rust and Shuttle
- The Linux Kernel Prepares for Rust 1.77 Upgrade
- json-responder 1.1: dynamic path resolution
- FullStack Next.js & Django Authentication: Django REST, TypeScript, JWT, Wretch & Djoser
- Actix-Web: v4.5.0
- Is JWT really a good fit for authentication?
-
A note from our sponsor - WorkOS
workos.com | 18 Mar 2024
Index
What are some of the best open-source Web programming projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | Rocket | 23,122 |
2 | actix-web | 19,925 |
3 | hyper | 13,644 |
4 | gutenberg | 12,485 |
5 | reqwest | 8,835 |
6 | Iron | 6,122 |
7 | Tide | 4,916 |
8 | Seed | 3,784 |
9 | stdweb | 3,431 |
10 | Nickel | 3,029 |
11 | loco | 2,893 |
12 | percy | 2,230 |
13 | Gotham | 2,217 |
14 | tungstenite-rs | 1,673 |
15 | ureq | 1,524 |
16 | ws-rs | 1,439 |
17 | cargo-web | 1,095 |
18 | Rouille, Rust web server middleware | 1,051 |
19 | curl-rust | 984 |
20 | tiny-http | 939 |
21 | Sapper | 621 |
22 | Rustless | 614 |
23 | jsonschema | 433 |