Node.js frameworks review
This is a strongly-opinioned fly-by review of the evolving web framework ecosystem for Node.js.
last-commit: May 15, 2010 (2 days ago) pollutes global namespace: NO session model: template default: NONE (but link to template.node.js) comment: nice for a view framework
But Node.js is a low-level runtime which brings a good standard library and scripting environment for deployment. We don't want to re-write cookie and session handling for every project. For web development we need a framework that organizes code and brings the old lessons that Rails brought to projects like Turbogears and Django in python.
I have some biases. I'll just list them up front:
Terminology--like in Django, I'm going to refer to a Controller as the route-handling parts, and a View as the page handling code (separate from templates). It seems like most Node.js frameworks see it this way too (along with the original MVC Scheme understanding).
Let's get started:
web page says "deprecated in favour of ejsgi"--see below.
There doesn't seem to be much code to simplify writing Views. This project seems to focus on the template side of things.
pretty low-level, but has login examples. Views are passed a request object, and return a response object (that then gets processed and sent as the Node.js response object.
This is clearly one of the most advanced projects. I would probably try to work with Express if it weren't for the global namespace thing. It also obscures the asynchronous features in Node.js.
This even provides a 'geddy-gen' to do a build-out of a project like Rails/Django/etc. It also has models and data-validation. Very nice.
JIMI (based on Djangode)
This project went up as I was reviewing all the modules. It says something about how fast this field is changing. This post will probably be out of date in a month.
Jimi seems to be fleshing out handlers similar to Django's structure: urls.py, static directory, templates directory, and a views.js
I think this is my favorite at the moment. Even if it's a 'microframework' it contains the important pieces, and will let me scaffold my own structure for views.
Pintura is part of some monolithic Dojo thing, which probably makes a lot of sense if you use Dojo. Everytime I've checked out Dojo, I find a buggy, disorganized, constantly refactored ill-documented mess.
People keep raving about it, so it must be good. I'm just too stupid to figure it out.
Anyway, hope this helps anyone else taking a peak into this early Node.js community which is growing every day.