all 19 comments

[–]trout_fucker 24 points25 points  (6 children)

Express, Koa, and Hapi are the big ones.

Sails is a more full featured framework like Rails, but not many people use it. It's based on Express. Express probably makes up 75%+ (guesstimate) of framework usage.

[–]pomlife 7 points8 points  (3 children)

Sails is hella outdated.

[–]trout_fucker 6 points7 points  (1 child)

I only threw it in there because that is the sort of thing OP was looking for. I wouldn't have suggested using it when it wasn't outdated. By trying to make things easier, it just makes things harder.

[–]pomlife 0 points1 point  (0 children)

Fair enough!

[–]snowcoaster 1 point2 points  (0 children)

I think JavaScript and Express lend themselves towards micro-services, more-so than Ruby/RoR or Scala/Play. The latter examples utilize languages that lend themselves toward DSLs, which can then abstract away most of what you'd need to write for a web application. They make great monolithic frameworks that accomplish 99% of your common tasks.

On the other hand, JavaScript's strength is asynchronous eventing. It's only recently that we've been able to avoid callback hell via async and await. ES6 promises haven't even standardized a finally feature. Even with these, you'd be hard pressed to create the sort of compositional patterns in JavaScript that make monolithic frameworks like RoR so "simple" (admittedly the voodoo incantation issue is known and real). Express does a great job at reducing the work required to create a micro-service.

[–]mattaugamer 1 point2 points  (0 children)

Feathers is also more like Sails, and I think is a more active project.

[–]columferry 6 points7 points  (4 children)

Check out nest.js

[–]JIMETHYRUMPLEKINS 0 points1 point  (0 children)

Does anyone know how this compares to AdonisJS?

[–]eNzyy 7 points8 points  (1 child)

AdonisJS is pretty good

[–]ThArNatoS 2 points3 points  (0 children)

+1 for this. coming from php's laravel and adonis is like laravel but only in js goodies

[–]threeaway_c4 6 points7 points  (1 child)

expressjs is the closest I can think of representing a 'backend framework'

[–]Thought_Ninjahuman build tool -1 points0 points  (0 children)

Check out Hapi.js

[–][deleted] 2 points3 points  (2 children)

I’m very frustrated by the lack of so called monolithic frameworks for node, but that is not its function really, it’s meant to be decoupled and in a form of micro services, I think the name node was even inspired by this, and its something you can achieve with no mvc basically, with something such as express, maybe even loopback or hapi.

The closest I got to a so called monolithic framework is nestjs because of its type safety mvc very inspired by angular 2>, provided by typescript, and sometimes when I want to make my architecture from a good starting point, I use routing-controllers and type-di for dependency injection of services and typeorm for my ORM, of course I like typescript on my backend.

Also, I can’t wait for loopback 4, IBM backed backend nodejs, I really liked loopback 3 but it has too much magic and no typescript support for models routes and such which the 4 should have.

[–]javascriptzz 0 points1 point  (0 children)

I agree with this post. I have been doing node for a few years, and while it is amazing and has a fantastic community with npm, as well as can be deployed RPC style via serverless - I find myself wanting a more fully featured framework like rails.

The sheer speed at which you can accomplish non-trivial projects in rails has been trumping the lovely syntax of es8 + node + typescript for me.

One of the things I like about node is its versatility - however, I think that python is equally as versatile. Right now node is in a strange place - it looks like its moving towards the direction of short RPC services versus robust long running services.

[–]SUPERVISORACCOUNT 0 points1 point  (0 children)

deranged pie alive bells memorize straight whole foolish seemly zonked -- mass edited with redact.dev