Node.js is not suitable for generic web projects (III)
Part I • Part II • Part III • Part IV • Part V
Node.js ecosystem is lacking a "proper" framework like Rails
Leaving the platform / language issues behind, that's also a false myth. Personally I like Ruby and I like Rails, but I find it a bit overkill for small / medium web projects, and I do like to have ownership over my own code. I'd rather start with a small and manageable codebase and extend it / add modules if I need them, when I need them. That's why I think Express.js offers the ideal balance between lightweightness and extensibility. And Connect, (which Express is built upon) gives you the power or Rack, with an even richer ecosystem, I'd dare say. I know most will compare Express with Sinatra, but I think it's more than that, and again, I've heard even hardcore Rubyists admitting Rails might be a bit too much sometimes...
But if you're approaching Node.js and Rails is your kind of thing, maybe you should have a look at Tower.js or Geddy.
What about client-side assets management, packaging, fingerprinting?
Surely, there's nothing in the Node.js world comparing with Sprockets? Actually, there is. More than one. Node.js is the place where things like that are born. Bower, Brewer.js, Piler, just to name a few.
Mihai Bazon's UglifyJS also runs on Node.js.
Trevor Burnham, the author of "CoffeeScript: Accelerated JavaScript Development" originally wrote connect-assets, which is now maintained by Andrew Dunkman.
For developers looking for a simple, yet equally powerful alternative, I've open-sourced ASPA and ASPA-Express a few months ago.
EDIT, July 2014:
Things have evolved since I wrote this article. Please consider using ASPAX instead of ASPA.
Also, for more complex scenarios, you might want to have a look at Gulp.
So there's plenty to choose from.
What about template engines? There are lots of them, but my favourites are Jade and Stylus.
Written by Ionut-Cristian Florescu
Related protips
4 Responses
Sorry for having to break it up into 5 parts, but apparently there's a limit on the text size somewhere...
Another "rails-like" framework for Node.js : locomotive.js (http://locomotivejs.org/)
@munimkazia - yep, that one looks good indeed. Also, it's author, Jared Hanson wrote passport.js, - the "de-facto standard" in Node.js web apps auhentication.
There's also sails.js: sailsjs.org
Quite good when you want rest APIs plus socket.io connected to a DB.