One of my new years’ resolutions is to be able to be productive enough with Rust to start making contributions to Lemmy and/or to integrate part of the Fediverser project (specifically, the “login with Reddit” feature) into it.

But first steps first, and I want to make a simple web app where I can authenticate users against an LDAP database, and show some data only for authenticated users.

It seems that the most mature libraries for web development in Rust is still actix web (and also the one that Lemmy uses), but what about other parts? Is Tera a good option for someone who is already familiar with Jinja (and Django)? Most of the tutorials I found out are for using actix web mostly as a json API and leaves the frontend for specific javascript SPAs, but what if I want to do “old school” web pages?

  • @thesmokingman@programming.dev
    link
    fedilink
    36 months ago

    Check out Shuttle. If you want a hands-on project to pick up a framework, the Christmas code hunt is pretty fast (assuming the local crate makes it work after the fact?). I used it to switch from Rocket to Axum.

    Manning has a book about Rust servers that might also be useful.

    As for templating, if you know one template DSL, you should be able to pick up any of the others. I haven’t heard of Tera; it looks solid. Rocket supports it and Handlebars.

    I think you’re finding a dearth of Rust servers hosting static content because, for the most part, the paradigm has shifted to static sites or SPAs hitting an API. That’s a personal observation not necessarily a fact. Any Rust server should be able to return static content.