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. Learn more →
Top 23 Web programming Open-Source Projects
-
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.
-
gutenberg
A fast static site generator in a single binary with everything built-in. https://www.getzola.org
-
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.
-
rust-musl-builder
Docker images for compiling static Rust binaries using musl-libc and musl-gcc, with static versions of useful C libraries. Supports openssl and diesel crates.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Container2wasm: Convert Containers to WASM Blobs | news.ycombinator.com | 2024-01-03
Project mention: Top 10 Rusty Repositories for you to start your Open Source Journey | dev.to | 2023-12-194. Rocket
Project mention: Empowering Web Privacy with Rust: Building a Decentralized Identity Management System | dev.to | 2024-04-09Actix Web Documentation: Detailed documentation on using Actix-web, including examples and best practices for building web applications with Rust.
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.
[1] https://crates.io/crates/reqwest/0.11.24/dependencies
[2] https://crates.io/crates/hyper/0.14.28/dependencies
So after shopping around a bit I found a simple, dependency-less static site generator called Zola. The lack of dependencies sounded very attractive after all the headaches trying to update my Gatsby modules. I wanted to give Zola a try and see what tradeoffs I would need to make coming form a React-based framework to this Rust-based generator.
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.
[1] https://crates.io/crates/reqwest/0.11.24/dependencies
[2] https://crates.io/crates/hyper/0.14.28/dependencies
Rust has several, production ready, REST API frame works.
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.
Well, no, that's not really a fair assessment. Someone is quite literally doing "rails but for Rust" with loco: https://loco.rs
As far as I know, the bulk of this effort has been one developer pushing it along. I wouldn't personally use it but it _does_ exist.
It's also worth noting that these older frameworks all come from a different era of development - nowadays most newer devs seem to want to build microservice-after-microservice, where these don't quite fit into the picture.
Project mention: Announcing Nickel 1.0, a configuration language written in (and usable from) Rust | /r/rust | 2023-06-08There's a popular web framework called Nickel already: https://nickel-org.github.io/
Project mention: Top Rust Web Frameworks: Rocket, Actix-web, Tide, Warp, and Gotham | dev.to | 2023-06-14Gotham 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-06Under the hood, Hurl uses curl with Rust bindings (thanks to the awesome curl-rust crate)
Web programming related posts
- Authentication using JSON Web Tokens.
- PHP in 2024
- Empowering Web Privacy with Rust: Building a Decentralized Identity Management System
- Replatforming from Gatsby to Zola!
- Rethinking password security: say goodbye to plaintext passwords
- JWT, JWS, JWE and how to cook them
- Ntex: Powerful, pragmatic, fast framework for composable networking services
-
A note from our sponsor - InfluxDB
www.influxdata.com | 23 Apr 2024
Index
What are some of the best open-source Web programming projects? This list will help you:
Project | Stars | |
---|---|---|
1 | yew | 29,888 |
2 | Rocket | 23,343 |
3 | actix-web | 20,200 |
4 | hyper | 13,804 |
5 | gutenberg | 12,645 |
6 | reqwest | 9,095 |
7 | Iron | 6,122 |
8 | Tide | 4,950 |
9 | Seed | 3,786 |
10 | stdweb | 3,433 |
11 | loco | 3,339 |
12 | Nickel | 3,029 |
13 | percy | 2,233 |
14 | Gotham | 2,221 |
15 | tungstenite-rs | 1,707 |
16 | ureq | 1,559 |
17 | rust-musl-builder | 1,516 |
18 | ws-rs | 1,449 |
19 | cargo-web | 1,094 |
20 | Rouille, Rust web server middleware | 1,067 |
21 | curl-rust | 989 |
22 | tiny-http | 951 |
23 | Sapper | 617 |
Sponsored