Ask HN: Is there a non-MVC Node.js framework?

2 points by coreyp_1 ↗ HN
I'm looking for a plugin-based node.js framework, as opposed to the MVC (or MV*, etc.) which is all the rage these days. I discuss my reasoning in a short blog post, but I'm hoping the HN community has some insight. And, if I can't find an appropriate one, I'm considering starting one.

Your help/wisdom is greatly appreciated!

Blog post discussing the question is here: http://cscrunch.com/blog/corey-pennycuff/open-question-there-non-mvc-nodejs-framework

5 comments

[ 2.9 ms ] story [ 28.1 ms ] thread
> I can have a highly functional site in 10 minutes with Drupal, but node.js (express), Django, Rails, etc. all seem to take forever just to get something of minimal functional equivalence.

There's nothing about Express that enforces MVC and depending on your definition of 'highly functional' you can go from nothing to production in like 100 LOC with Express and npm.

Are you familiar at all with npm? There's a package or ten for everything.

Thanks for taking the time to comment!

I've used Express, and it's great for what it does, it just doesn't do what I'm looking for. I'm wanting a framework that can be a CMS as well as a store, or a brochure-ware site, or a game backend server, or whatever else.

Basically, a plugin-able framework. I don't want to use a package from npm if that means having to hack it just to add something to a form. For that matter, I don't want to worry about the security of a 3rd party module simply because there is no standard way to generate/handle forms.

It's a philosophical argument, I suppose. You can write secure code if you do everything right, but if a framework requires you to use an API everywhere (a la Drupal's FAPI), then you get security for free.

I've written my own login and session handling scripts. I've written my own CRUD routines. It's painful, because it should not be necessary (IMO).

node+npm does everything you need here. if you're writing your own libs, you're doing something wrong.

there are so many middleware modules for express that you can have a web app with a connected db, user auth, forms with csrf up in a matter of minutes.

Meteor.org is not too bad; apps built with it are comprised of a controller layer, and a presentation layer. Generally, both are very lightweight, and not much configuration is required. Just pull in the packages you need. Optionally, you may define hooks on your data collections, e.g. Posts.before.update = function(userId, doc, ...)
You don't want a "framework" you want a CMS or "app platform". Drupal isn't a "framework", laravel/symfony are "frameworks".

You are comparing a Tesla model S to a kit car chassis.

There is also no antipathy between plugin-based/modular systems and MVC. The reason node mostly has barebones frameworks and no content management platform like Drupal is because it is so new.