Is there an easy, backend javascript framework that includes many features out of the box?

I am looking for a framework similar to Laravel, but for backend javascript. This ideal framework should include common features out of the box, including but not limited to validation and authentication.

Searching for well maintained, dependable, and regularly supported packages can be a pain. In addition, having to implement and learn the “mini-syntax” for all these third party packages can be nightmare.

Walmart’s Hapi has most core stuff available either within the framework or via plugins. There’s a focus in Node on very small, single-task modules which conflicts with what you’re looking for: Express is the standard framework for backend and it’s fairly barebones on purpose: the Node platform is focussed on building fairly lightweight applications for quite specific tasks (realtime stuff is quite common), it’s not typically as focussed on CRUD as PHP is.

Could you elaborate more on Express? I’ve been developing apps with Yii2 for almost 3 years and now I’m transitioning into JS frameworks. I’m concerned that I might not be able to add the same functionality to my apps with Express as I can with Yii2.

Express is the de facto standard framework; nothing else has close to the same traction (Meteor had some for a while, Hapi has a small active community, ditto SailsJS). Express is not really like any of those: it’s very sparse, you get all the basic server stuff with it, but it asks you build the specifics of your application on top of it — most everything you want will be available via libraries, not out of the box. Note there’s also Koa, which is by the same guy who wrote Express, but is even more sparse.

This is a generalisation, but: Node lends itself to small, very specific apps (for example small API services, proxies, chat applications etc). I guess mainly for that reason, no framework that comes with all the bells and whistles has ever taken off (Meteor looked like it was going to, but for various reasons, it didn’t). Node apps are not normally general, they’re small and specific, and frameworks like you’re talking about need to be heavyweight and general. If you want CRUD, PHP is fine, Rails is fine, Django is fine, .Net is fine etc. It’s not what Node was built for: it was created for real-time networking across lots of devices. What your looking for doesn’t really exist because it isn’t necessarily the best approach for that platform. Plus it doesn’t really fit with Node’s focus on small, highly specific libraries. Also, the fashion moved away from the include-everything model just as Node became popular (and Node kept pushing it in that direction). It went towards microservices, which Node is kinda created to be useful for implementing. Also with Node being relatively new and having quite specific use cases (and being JS), it’s not necessarily as widely used for server-side stuff as other platforms. So fewer corporate users running lots of stuff on it, fewer solid frameworks.

2 Likes

Thanks for clearing things out. This helped a lot!