Rust for backend. Is it recommended?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

    The tokio project provides a non-blocking, asynchronous framework (like nodejs) upon which other frameworks are built. As you specifically want to use WebSockets, I'd recommend actix, as it covers all your REST/WebService/WebSocket needs in one easy to use package.

  • actix-web

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

    The tokio project provides a non-blocking, asynchronous framework (like nodejs) upon which other frameworks are built. As you specifically want to use WebSockets, I'd recommend actix, as it covers all your REST/WebService/WebSocket needs in one easy to use package.

  • 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.

  • unsafe-libyaml

    Discontinued libyaml transpiled to rust by c2rust

    The same is not true for CLIs, especially CLIs that don't use async networking. The space has matured incredibly well and almost everything you touch is bulletproof. Clap 4 with derive macros is one of the best libraries of any kind in any language I've ever used. Rayon makes totally safe parallel processing look like a rigged demo that can't possibly be real. Reading and writing JSON and TOML is silky smooth and fast, YAML is held together with sticky tape but it works too. There are incredible libraries like crossterm and tui to make terminal interfaces better and easier and more portable than anything in Go. People say Go is good for CLIs, but I think they must be comparing to Java or something, because Rust runs circles around Go for CLIs, and in ways that end users notice too.

  • grpc-go

    The Go language implementation of gRPC. HTTP/2 based RPC

    I like to point people at this release to show that not even Google -- in its own language on its own library for its own RPC protocol -- can write thread-safe Go, so what chance does anyone else have. Maybe we have to stop thinking of Go as a language for mission critical parallel computing and think of it more like a Python 4 made for low-risk prototyping. Mature libraries help for that prototyping, you know how to put them together and get something working, that something just won't be scaleable, efficient, or thread-safe.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts