Lemmy is an open-source, federated link aggregator and discussion platform similar to Reddit, Lobste.rs, or Hacker News. The software stack used in Lemmy includes Rust with Actix and Diesel for the backend, and TypeScript with Inferno for the frontend.

The developers chose Rust for its performance, safety, and concurrency features, which help in building a reliable and efficient backend. Actix is a popular Rust web framework that provides a lightweight and fast foundation for the server-side application. Diesel is a Rust ORM (Object-Relational Mapping) and query builder that simplifies database interactions. On the frontend, TypeScript offers better type safety and tooling compared to plain JavaScript, while Inferno is a fast and lightweight React-like library for building user interfaces. These technologies were chosen to create a performant, reliable, and easily deployable platform.

I read someone saying that the lack of contributors was due to the software stack being unconventional and takes people a while to get used to it. So I was curious to know what other people would have used.

  • AureumTempus@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Yes, you’re right about that. Personally, I prefer esbuild with Propshaft over importmaps (as I try to avoid CDNs personally), as it has improved a lot, especially if we are talking about assets management, but again, I think if I were to make a project in the future, I would create a monorepo with Rails API-only and Svelte, because of how hard Hotwire is to understand. Especially Stimulus.

    Webpacker in Rails was a nightmare to configure and the stuff before also not the best to play around with. Setting up Bootstrap and PopplerJS was so hard back them, I can’t imaging how hard the Tailwind setup can be.

    Currently, I’ve made the switch to React + Express and SvelteKit. React + Express became it is quite popular in the market. SvelteKit because I love this framework. But I would love to choose Golang as a back-end. Maybe in the coming future.

    And about open-source licenses, valid point. I should have been careful there.

    • foo@withachanceof.com
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Yeah I’m not sold on Hotwire either. I started a new Rails project last year with Rails 7 and removed all of the Turbo/Hotwire stuff and did it all with import-maps and vanilla JS. Import-maps don’t require a third party CDN though. I absolutely love that I can use them to write ES6 JS and have it served directly to the frontend without any Webpack/ESbuild compilation step in between. After a decade of working with the nightmare that was Webpack & Webpacker in Rails I’m totally with you on how that whole asset management system needed a big overhaul and I think with importmaps or esbuild we might finally have something tolerable.