Category Archives: Node.js

Proud Noder

Well it’s official:  I’m a Noder.  I spend at least a third of my working hours in Node nowadays and I can’t get enough of it.

Why?

Well, first of all, I took Javascript for granted.  Check out this talk by Douglas Crockford at Yahoo.  Essentially, a Javascript developer can do what would take a traditional programmer (C/Java) much longer to write.   The language supports funky features like closures, anonymous functions, and prototyping (a loose OOP idiom).

Node.js also adopts many useful approaches from CommonJS.

There are so many keen/sharp developers building stuff for Node that production ready apps are right around the corner.

The performance stats are mind numbing.  Ryah Dahl (the creator of Node.js) really proves that event based apps scale much better than thread based.  Node is perfect for running apps with thousands of concurrent connections (see performance charts).

Just a word of warning though if you’re planning on jumping in:  it’s still bleeing edge.  Be prepared for a lack of docs, bugs, and constant changes.  Just the way I like it.

The sooner I move all my technologies and platforms to Node, the happier me and my clients will be.   I’m having a ball rewriting Fresher in Node.  You can expect some big leaps in features and functionality soon…

Node.js and CouchDB FTW?

I’ve been digging deep these days getting up to speed on technology and I found two things that I find extremely exciting. As I mentioned in a previous post, I’ve been looking for a scalable back end in SSJS (server side Javascript) trying to avoid the allure of RoR. I think I might have found my killer combo: CouchDB and Node.js.

CouchDB is written in Erlang (telco grade language), uses a document based model that’s so close to Fresher I could literally port our client’s data to it (we’re using an SQL Server), AND switched from XML to JSON earlier this year as native output through a RESTful HTTP API.

Node.js is an SSJS server but built around the Javascript event model (addListener for sockets) and uses V8 (The Chrome Javascript engine).

So I’m drooling at the possibilities here. What’s more is I can test run a CouchDB instance at cloudant.com (if they accept my application for a beta account).

I still might want some SQL for things like logs, orders, and CRM – but then again, we’ll see once I get my hands dirty…