DEV Community

Cover image for 24 Awesome Open-Source Rust Projects
Serokell
Serokell

Posted on • Originally published at serokell.io

24 Awesome Open-Source Rust Projects

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

Rust web development

Can you build a web app with Rust? Definitely!

Rust has multiple extremely fast web frameworks – Actix, Rocket, and Yew – and you can use the one that matches your needs and preferences.

Rocket

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.

Actix Web

Actix Web is usually thought to be more performant and stable than Rocket. Underneath, it works with the actor model used in Erlang and Akka.

In contrast to Rocket, it’s less “batteries included”, meaning that you will most likely need to use third-party libraries for extra functionality.

Yew

Yew is a Rust framework for creating web apps with WebAssembly. Among its main benefits, it lists a component-based framework like in React and Elm, outstanding performance because of the multi-thread support, and JavaScript interoperability.

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.

Zola

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

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.

Game development

Rust game development

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.

Bevy

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

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.

ggez

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?

Operating systems

Rust operating systems

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

Redox is an operating system written in Rust that uses Rust’s innovations to build a modern microkernel.

intermezzOS

intermezzOS is a teaching operating system, specifically focused on introducing systems programming concepts to experienced developers from other programming areas.

Theseus

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.

GUI development

Rust GUI development

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

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

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

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.

Blockchain

Rust blockchain

OpenEthereum

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

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.

Among its projects are Substrate, a modular framework for blockchain development, and Polkadot, a network of blockchains. Both of these projects heavily use Rust in their implementations.

Other projects

Other Rust projects

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

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.

swc

swc is a superfast JavaScript/TypeScript compiler. In comparison to Babel, it has been benchmarked to increase the compilation speed at least 18 times.

Ruffle

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.

Lunatic

Lunatic is an experimental platform that uses WASM instances as actors to structure execution. It is heavily inspired by Erlang.

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.

Starship

Starship is a fast, customizable, and intelligent prompt for those that want to make their shell cooler.

MeiliSearch

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.

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!

If you want to learn more about Rust, I suggest going to our blog’s Rust section. Have fun!

Top comments (1)

Collapse
 
hb profile image
Henry Boisdequin

Awesome post!