Hello all,

I am looking for suggestions for libraries to use on my project. It is a personal project, so I’m happy to experiment with lesser known or new libraries.

The application will be a mix of content-focus and client side interactivity (think to-do list with server side persistence).

My current approach is as follows:

  • Server side rendering on NodeJS with a template engine, complemented with client side scripting for interactivity (mostly vanilla JS)
  • Use liquidJS as template engine (any alternatives?)
  • Use fastify as the HTTP / Backend server with @fastify/view plugin for serving liquidJS (and other template engines)
  • use vanilla JS scripts for interactivity and DOM manipulation
  • use vanilla-SWR for data fetching, mutation and persistence on server side. Link: droyson/vanilla-swr

Any other suggestions?

  • poinck@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Have you heard of Svelte? You can write everything in Typescript or Javascript. It runs on top of node and SSR is made very easy.

    • rutrum@lm.paradisus.day
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      Svelte has the lowest barrier-to-entry I’ve used among frontend frameworks. I’ve really enjoyed using it.

    • Cyclohexane@lemmy.mlOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      My worry with svelte is vendor lock-in. It has a specific way of doing things, and I feel like my simple app does not need that level of interactivity abstraction. But maybe I have not looked into it deeply enough.

  • mark@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Looks like a decent setup. Vanilla JS is the way to go for the best performance. Avoids vendor lock-in and those skills never go out of date. 👍

  • rutrum@lm.paradisus.day
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    This may not be helpful but I’ve used EJS as a template engine before. It’s a simple engine and been around for a while.