DEV Community

Cover image for Node.js Frameworks Roundup 2024 — Elysia / Hono / Nest / Encore — Which should you pick?

Node.js Frameworks Roundup 2024 — Elysia / Hono / Nest / Encore — Which should you pick?

Simon Johansson on November 01, 2024

Node.js web frameworks — where do we even begin? With so many options out there, choosing the right one for your project can feel overwhelming. In...
Collapse
 
mindplay profile image
Rasmus Schultz

Encore is presented as a framework here, which is actually misleading - it is an alternative runtime that replaces Node entirely.

Encore is an entirely different category from the things you're comparing to here. This wasn't even touched on in this article.

To be honest, the whole article reads like another attempt at misleading advertisement for Encore, and it isn't the first time you've attempted something like that:

dev.to/encore/how-to-make-your-exp...

A similarly misleading title (which you declined to change) and essentially a guide to porting your Express app to Encore.

Likewise, this article would have you believe we're comparing frameworks, when Encore isn't even strictly (or at least not only) a framework.

I honestly think you're going about your marketing and placement of Encore all wrong.

Why are you trying to position this as an alternative to Express, one of the lightest lightweight frameworks there is?

You're an entirely different category of product.

I'm not honestly completely sure what category of product you are. You want to be a Typescript framework, but you're really a platform, and you're based on Go?

To be honest, this framework seems to be trying to break out of it's own niche, perhaps because it's a niche that doesn't really exist? 🤨

Collapse
 
mage1k99 profile image
Magesh Babu

It's good to see someone has good clarity about these things

Collapse
 
eshimischi profile image
eshimischi

Thanks for making this statement, i thought to post something already and can’t say it better.

Collapse
 
eshimischi profile image
eshimischi

And also Elysia isn’t even NodeJS framework too.. based on Bun.

Collapse
 
codexam profile image
Subham • Edited

Honestly, NestJS is the way to go. Once you've tried it, you realize it’s basically like the TypeScript equivalent of Spring Boot but with a lot less headache. Nest is made for scaling, and if you're dealing with microservices or even just a well-organized architecture, it's a no-brainer. Other frameworks? Setting up pipelines, decorators, handling Redis, Kafka, RabbitMQ, gRPC – you’ll be building all that from scratch and probably still not hit the same efficiency.

With Nest, everything's already encapsulated and streamlined through decorators and built-in setups. Even on smaller projects, you’re building faster because you’ve got all these structured modules, and you’re not having to reinvent the wheel. The way it separates business logic, services, and controllers keeps your codebase manageable – you won’t end up with a pile of spaghetti code. Trust me, after trying all kinds of frameworks, Nest just hits different for clean, scalable builds.

You can check one of my blogs about nest - Scalable REST APIs with NestJS

Collapse
 
sackingsand profile image
Yudha Putera Primantika

NestJs does come with significant learning curve compared to others, but later when you really understood what it's opinions are, you'll be flying with your coding and fixing. That thing is crazy good for microservice infrastructure, it's very intuitive and saves lots of time.

Collapse
 
ozzythegiant profile image
Oziel Perez

It's really cool how it's basically Angular for backend

Collapse
 
fasttrackrai profile image
FastTrackr AI

Nice

Collapse
 
marcus-sa profile image
Marcus S. Abildskov • Edited

You should use deepkit.io if you're not a noob.
These frameworks are a joke in comparison.

Collapse
 
mindplay profile image
Rasmus Schultz

Encore seems similar to DeepKit in terms of size and scope? They both look very enterprisey - very oriented around classes.

The DeepKit ORM is one thing that drove me off rather quickly. I do not want an ORM, I just want sql-template-tag and raw PostgreSQL joy. 😄

I want more functions and FP, less classes and OOP. I have tried DeepKit and it does look like you can have those things, at least in theory, but the framework isn't really set up for a happy path without classes and ORM, is it? You would essentially be writing your own framework, I think? Although the run-time reflection and type checking facilities would certainly give you some wild new ways to do that. 🙂

One thing I do like better about DeepKit is the fact that it's just an NPM package you can install in Node. Encore wants to replace Node, which puts it in an entirely different category from the things they keep trying to compare it against. It honestly seems like a product with a bit of an identity crisis. (and/or a confused marketing department.)

Collapse
 
crobinson42 profile image
Cory Robinson

Yeah - why doesn't anyone talk about Deepkit?? Probably because it's based on actual software engineering patterns that noobs and youtube developers don't understand 🤷🏻

Collapse
 
blakeenloe profile image
Blake Enloe

Misleading title. Encore is not a Node framework, it's a Go framework. Elysia is a Bun framework. Hardly a 2024 Node framework roundup.

Collapse
 
simonjohansson profile image
Simon Johansson

Encore is both a Go and TypeScript framework. If you choose to use Encore with TypeScript you can use it like any other Node framework, works with all NPM libraries as usual etc.
encore.dev/

Collapse
 
blakeenloe profile image
Blake Enloe

The title says "Node.js Frameworks Roundup 2024". Being compatible with TypeScript does not make it a Node framework. Node.js frameworks are specifically built to operate within the Node runtime. 2 of the 4 things you mentioned in your Node framework roundup are not Node frameworks. Claiming Encore is a Node.js framework simply because it supports TypeScript and can use NPM libraries is misleading. Including it in a Node.js framework roundup confuses developers seeking to learn about genuine Node solutions. Bumping out Express, Koa, Fastify, Hapi, etc. in favor of a Go framework for a Node frameworks article seems odd. Feels more like a marketing push.

Collapse
 
usman_awan profile image
USMAN AWAN

Bro, nice work. But in 2025 deno might overcome NodeJs soon.

Collapse
 
eshimischi profile image
eshimischi

Bun already did overcome both of them

Collapse
 
sixman9 profile image
Richard Joseph

No Remix, deploys everywhere, including Cloudflare?

Collapse
 
naynaingoo2003 profile image
naynaingoo2003

Time to code

Collapse
 
fredericrous profile image
Frederic R.

you should peak Effect

Collapse
 
kokkondaabhilash profile image
Abhilash

Why not ExpressJS added here?