Alternatives to #Handlebars:
[**Mustache**](https://mustache.github.io/): zero dependencies, and dead simple. Too simple? Being logic-less means that conditionals and loops are pre-cooked, and that may limit options.
[**Pug**](https://pugjs.org/): main advantage and main drawback: its concise but idiosyncratic syntax, similar to that of #Slim — which I know and have used in the past, but is too much of a departure from #HTML.
[**EJS**](https://ejs.co/): similar to Handlebars, simple but apparently versatile. Documentation isn't great.
#JS #JavaScript #Node.js #Node
@tripu I don't know which project you have in mind, but I would very much would like to do something with Django and htmx (https://htmx.org/) or unpoly (https://unpoly.com/).
@tripu Maybe start off with simplicity (Mustache) and see how it goes? It may turn out to be all you need. If not, and you decide to switch down the line, you can just get AI to convert any existing files.
Alternatives to #Express:
[**Koa**](https://koajs.com/), which can either [replace or complement](https://github.com/koajs/koa/blob/master/docs/faq.md) both Express and [Connect](https://github.com/senchalabs/connect).
[**Fastify**](https://www.fastify.io/), which looks straightforward and very similar to Express. Plugin for templating (supporting Handlebars, Mustache, Pug and EJS): [@fastify/view](https://github.com/fastify/point-of-view).
[**NestJS**](https://nestjs.com/), which seems too convoluted and probably redundant since it works on top of either Express or Fastify (?).
[**Meteor**](https://www.meteor.com/): more of a platform. No tutorial for vanilla JS (only for React, Vue, etc), and not oriented towards SSR.
I'll probably go for #Koa or #Fastify.
#JS #JavaScript #Node.js #Node