Node Roundup: NodeConf Slides, Kanso, Whiskey, Redback

11 May 2011 | By Alex Young | Tags node modules couchdb redis testing events

NodeConf Slides

Ryan Dahl’s NodeConf slides includes some background on liboio with a focus on Windows support.

Today Node runs on Windows via Cygwin. This is an unacceptable port. Cygwin is slow, old, buggy. Users hate it

I’ve never really worked with Windows, so this was all new to me:

IOCP supports Sockets, Pipes, and Regular Files. That is, Windows has true async kernel file I/O. (In Unix we have to fake it with a userspace thread pool.)

The work on liboio certainly sounds fascinating — it seems like it won’t just be Windows users who benefit from the work going into the next generations (0.5, 0.6) of Node.

Isaac Schlueter’s slides are about npm 1.0, which covers global and local modules (in case you’re still confused). He also mentions an initiative called npat:

To get on the bandwagon: npm set npat true

This is a kind of distributed continuous integration testing system, based on the CPAN Testing Service.

Kanso

Kanso (GitHub: caolan / kanso, npm: kanso, Apache 2.0 License) by Caolan McMahon is a Node module that makes writing CouchApps easier, with added focus on the client-side:

What’s needed is a harmonious environment which shares code between the browser and server, without ‘breaking the web’. Search engines and other users should still have access to key content, even if we accept a less featureful experience. This is the problem Kanso was designed to solve, by implementing CouchDB’s design doc API in the browser.

CouchApps are JavaScript and HTML5 applications served by CouchDB:

If you can fit your application into those constraints, then you get CouchDB’s scalability and flexibility “for free” (and deploying your app is as simple as replicating it to the production server).

Kanso provides command-line and libraries tools to make this whole process easier. If you’re still not sold, try following the Kanso tutorial which will walk you through the entire process of setting up Kanso and building a blog application.

Whiskey

Whiskey (Apache 2.0 License) is a test runner that runs each test file in a separate file, complete with timeouts, setup/teardown, test file initialization, friendly output, test coverage, and scope leak reporting.

It works in a similar way to Expresso in that tests are run with the whiskey command-line script.

Redback

Redback (GitHub: chriso / redback, npm: redback, MIT License) by Chris O’Hara is a high-level Redis library. It provides an interface to Redis data types, including: List, Set, SortedSet, Hash, Channel, and Cache.

Redback even has pub/sub provider support:

var channel = redback.createChannel('chat').subscribe();

// To received messages
channel.on('message', function(msg) {
  console.log(msg);
});

// To send messages
channel.publish(msg);

blog comments powered by Disqus