Node Roundup: Porting Node to Windows, socketstream, EventEmitter2

2011-06-29 00:00:00 +0100 by Alex R. Young
You can send your node modules and articles in for review through our [contact form](/contact.html) or [@dailyjs](http://twitter.com/dailyjs).

Porting Node to Windows

Building Node in Windows has gone from "use Cygwin", to serious thought
starting in liboio (renamed to
libuv), and now this: Porting Node to Windows With Microsoft's

As you may have heard in a talk we gave earlier this year, we have started the undertaking of a native port to Windows – targeting the high-performance IOCP API.

There are good reasons why a serious port will be far superior to
kludging builds with Cygwin, most notably IO concurrency. This initial
announcement mentions Windows Azure support, Microsoft's application
hosting environment. Hopefully this means Windows developers will get
great performance on Microsoft's server platforms and on local
development machines.


socketstream (License: MIT, npm: socketstream) is a new and ambitious web framework for building single-page applications. Rather than focusing on pretty
graphics, the socketstream team has focused on ridiculous performance
and bandwidth efficiency, using Socket.IO, pub/sub, Redis, jQuery, Jade,
Stylus, and more of our favourite libraries.

Applications are generated using a script, and the resulting template
app is a little bit like a Rails project (except it starts up
instantly). The template app also has user management baked in:

As almost all web applications have users which need to sign in and out, we have built the concept of a 'current user' into the core of SocketStream. This not only makes life easier for developers, but is vital to the correct functioning of the pub/sub system, authenticating API requests...

The examples are in CoffeeScript, but the documentation mentions using
good old fashioned JavaScript is fine too.

There's already an interesting tutorial for socketstream by Addy Osmani:
Building Real-time CoffeeScript Web Applications With SocketStream.


EventEmitter2 (License: MIT, npm: eventemitter2) by hij1nx is an implementation of the EventEmitter class found in Node. It introduces lots of
useful features, including namespaces and wildcards and browser

The project comes with tests, so presumably the author has some solid
benchmarks to back up his performance claim:

As good or better performance for emission and listener registration as Node.js core EventEmitter