What has been your experience creating a web app with Rust vs other languages

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

Our great sponsors
  • Mergify - Tired of breaking your main and manually rebasing outdated pull requests?
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • diesel

    A safe, extensible ORM and Query Builder for Rust

    I'm very comfortable with SQL but I still prefer the interface provided by ORMs for the simpler operations, as long as they have an escape hatch that allows for raw SQL when needed. AFAIK there is nothing in Rust right now that comes close to what Python offers there. I think the most developped one right now is Diesel, but it intentionally skips convenience methods for simpler joins like frameworks in other languages have. It also doesn't support async (https://github.com/diesel-rs/diesel/issues/399) which is a shame.

  • sailfish

    Simple, small, and extremely fast template engine for Rust

    Using [Actix](actix.rs/), Sailfish, thiserror, and a bunch of supporting libraries reminds me of when I was building a project using Pylons and Mako (now replaced with Pyramid), except without the SQL.

  • Mergify

    Tired of breaking your main and manually rebasing outdated pull requests?. Managing outdated pull requests is time-consuming. Mergify's Merge Queue automates your pull request management & merging. It's fully integrated to GitHub & coordinated with any CI. Start focusing on code. Try Mergify for free.

  • miniserve

    🌟 For when you really just want to serve some files over HTTP right now!

    I haven't done anything SQL-related in Rust yet (I'm still waiting for something as comfortable as Django ORM migrations or Alembic) but I am currently working on something that's "miniserve but for image galleries" as a practice project.

  • Here's the latest project I've been working on. With the structure, even though it's something like 2000 lines, you'll find it's very easy to understand where everything is: https://gitlab.com/fishlist/fishlist-backend

  • sqlx

    🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL. (by launchbadge)

    I'm gonna give somewhat of a different opinion than all the other guys: I've explored Rust web development a little during a week I took at the end of last year to widen my tech knowledge, and in my opinion it's just not there. The language is beautiful, but the amount of libraries is simply not enough. Both warp and tide are great starting points, but I found database access to be lackluster. SQLx is fine but can't fetch *-to-many associations (https://github.com/launchbadge/sqlx/issues/298 - this is blocked by a language feature) and diesel is not async. Template engines are good (very much like askama), so we have good support there. What I dearly missed is automatic OpenAPI spec generation based on endpoints and comments - ASP.Net is absolutely amazing in regards to that and has never disappointed me. I also don't really like rolling my own authentication scheme, although others might be okay with that. Rust-crypto is pretty great. In general I didn't find productivity to be very high, taking much longer to accomplish the same site compared to using Phoenix and its generators that do most of the work for me.

  • jelly-actix-web-starter

    A starter template for actix-web projects that feels very Django-esque. Avoid the boring stuff and move faster.

    For anyone interested: https://github.com/secretkeysio/jelly-actix-web-starter

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