Open-Source Rust: 24 Awesome Frameworks, Projects, and Libraries
Rust has a very lively and fast-paced open source ecosystem, with a ton of contributors working on a ton of awesome projects.
And if you are asking – what can I build in Rust? The answer is almost everything.
This article will feature some of the open-source Rust libraries, frameworks, and repositories that could be useful to study or use for your own project.
For your convenience, I’ve split them into fields such as web development, game development, blockchain, and others. Let’s dig in!
Web development frameworks for Rust
Can you build a web app with Rust? Definitely!
Rust has multiple extremely fast web frameworks – Rocket, Actix Web, and Yew – and you can use the one that matches your needs and preferences.
Rocket is the most accessible web framework in the Rust ecosystem for beginners. It is highly customizable and helps you kickstart a new application quickly. At the same time, it avoids a lot of unnecessary boilerplate. Rocket also has many features included, which means that you won’t need to go far from the framework to build everything you need.
In contrast to Actix Web, the framework runs on nightly Rust – the “experimental” version of the language.
In contrast to Rocket, it’s less “batteries included”, meaning that you will most likely need to use third-party libraries for extra functionality.
As of now, it is not production-ready but should be an excellent choice for side projects and internal tooling, especially if you want to work with WASM.
If you need something quick and simple to serve a static website, Zola is a fantastic tool to create fast and scalable web pages without any other dependencies or JS bloat.
Warp is a web server framework written in Rust. In comparison to Rocket and Actix, it is rather slim for a web framework and will provide you only with basic functionality out of the box.
Rust is exceptional for game development for the same reason that C++ is: it is predictably performant. Here are some of the engines you can use to build your own Rust game.
Two of the main Rust game engines are Bevy and Amethyst. Among them, Bevy is the newer and cooler one. It is a simple, data-driven engine and can essentially be called Amethyst 2.0 since it is heavily inspired by it.
For more info on Bevy, you can check out the Bevy book.
Amethyst is the more mature one of the two and, because of that, has more features that you might need for a large-scale project and better integrations with 3rd party libraries. But, Bevy is catching up fast. If you are searching for an engine for your new project, I’d recommend looking at them both and seeing which one you like better.
We have to warn that Amethyst is not being actively developed any more, though.
If you are searching for something simple to start off, ggez is a lightweight cross-platform game framework for making 2D games with minimal friction.
If you want to read more on game development in Rust, check out Are we game yet?
Rust is an excellent alternative to C in operating system development since it offers the same level of performance while taking care of memory safety. Actually, developers are investigating the possibility of adding Rust to the Linux kernel, and Microsoft is experimenting with it as well.
Here are some open-source operating systems that are written purely in Rust:
Redox is an operating system written in Rust that uses Rust’s innovations to build a modern microkernel.
intermezzOS is a teaching operating system, specifically focused on introducing systems programming concepts to experienced developers from other programming areas.
Theseus is a new OS written in Rust that presents a novel OS structure and claims to avoid the phenomenon of state spill, a thing that occurs when one entity’s state is permanently changed through interactions with another.
There’s quite a lot to read about – here’s a paper on the project.
While Rust isn’t well known for its capability for building captivating user interfaces, there’s still a lot of good libraries to build GUIs with.
Druid is an experimental Rust-native UI toolkit with a focus on building simple, polished user experiences. It is data-oriented and inspired by modern frameworks such as Flutter, SwiftUI, and others.
To learn more about it, you can check out the Druid book.
Iced is a cross-platform GUI library with a focus on simplicity and type safety. It’s heavily inspired by Elm. While it is still experimental right now, it is an excellent option for creating GUIs right in Rust for your side project.
The Orbital Widget Toolkit
The Orbital Widget Toolkit is a cross-platform toolkit for building scalable user interfaces with Rust. It’s focused on speed, ease of use, and cross-platform compatibility.
Tauri is a framework for building desktop applications for Windows, Linux, and macOS. With it, you can use any front-end framework that compiles to HTML/CSS/JS for building UIs, and Rust as the backend.
If you want to learn more about GUI development possibilities in Rust, here’s a big post that covers most of the libraries.
The main goal of OpenEthereum is to be the fastest, lightest, and most secure Ethereum client. It is developed with Rust and claims to provide core infrastructure that is essential for speedy and reliable services.
Lighthouse is an open-source Ethereum 2.0 client, written in Rust and maintained by Sigma Prime.
Parity Technologies: Polkadot and Substrate
Parity Technologies works on building blockchain infrastructure for the decentralized web.
Here are some of the projects that don’t fit into any given category. Hope you can find something awesome in this collection of “things”. :)
Servo is a web engine prototype written in Rust. It’s the result of Mozilla’s work on creating a new, open-source browser engine. In 2020, Servo moved on from Mozilla to being hosted by the Linux Foundation.
Servo is supposed to be safer than the browsers written in C++ due to Rust’s memory safety guarantees that reduce the number of vulnerabilities.
Want to run all the cool Flash games that Adobe has recently disabled support for? You can use Ruffle, a Flash player emulator written in Rust.
You can try it out on ruffle.rs.
It is supposed to unite the good sides of WASM and Erlang, enabling you to build actor-based systems that are both fault-tolerant and blazingly fast.
You can listen to our podcast episode with Lunatic to learn more about the project.
Starship is a fast, customizable, and intelligent prompt for those that want to make their shell cooler.
MeiliSearch is a powerful, fast, easy to use, and customizable search engine that’s also typo-tolerant. Now that’s a lot of adjectives! You can set it up for your own project instead of a custom and probably worse-performing solution.
Read our interview with MeiliSearch to learn more about the project.
Have anything to add?
As you can see, the ecosystem is vast, and there is a lot to explore. I certainly wasn’t able to cover everything. If you know of a project that deserves to be here, don’t be afraid to let us know on Twitter!
If you want to learn more about Rust, I suggest going to our blog’s Rust section. Have fun!
- Web development frameworks for Rust
- Game development
- Operating systems
- GUI development
- Other projects
- Have anything to add?