__ __ ______ ______ __ ___ __ ______
| | | | / __ \ / __ \ | |/ / | | / __ \
| |__| | | | | | | | | | | ' / | | | | | |
| __ | | | | | | | | | | < | | | | | |
| | | | | `--' | | `--' | | . \ __ | | | `--' |
|__| |__| \______/ \______/ |__|\__\ (__) |__| \______/
a full featured i/o framework for node.js
v0.7.4
hook.io creates a distributed node.js EventEmitter that works cross-process / cross-platform / cross-browser. Think of it like a real-time event bus that works anywhere JavaScript is supported.
You create custom i/o scenarios by picking and choosing from an extensive library of tiny, independent, autonomous "hooks" that seamlessly work together.
Features :
- Build large, decoupled, distributed, and fault tolerant I/O heavy applications in node.js
- Create hooks on ANY device that supports JavaScript (cross-browser support via socket.io)
- Throw any block of sync or async code on a new process with a callback
- Easily scale any tcp based messaging infrastructure (such as clustering socket.io chat rooms in memory)
- Interprocess Message Publishing and Subscribing done through EventEmitter2 and dnode
- Messaging API inherits and mimics Node's native EventEmitter API (with the help of EventEmitter2)
- Spawning and Daemonizing of processes handled with Forever
- Easily connect / disconnect hooks "hot" without affecting other services
- Core library currently checking in at about ~450 lines of code
Available Hooks (more coming soon)
Getting Start / Demo
npm install hook.io-helloworld -g
Now run:
hookio-helloworld
Spawn up as many as you want. The first one becomes a server, the rest will become clients. Each helloworld hook emits a hello on an interval. Now watch the i/o party go!
Blog Posts
Distribute Node.js Apps with Hook.io: http://blog.nodejitsu.com/distribute-nodejs-apps-with-hookio
Tests
All tests are written with [vows][7] and require that you link hook.io to itself:
$ cd /path/to/hook.io
$ [sudo] npm link
$ [sudo] npm link hook.io
$ npm test
Core Hook.io Team
Marak Squires, Charlie Robbins, Jameson Lee
Contributors (through code and advice)
Substack, h1jinx, AvianFlu, Chapel, Dominic Tarr, Tim Smart, tmpvar, kadir pekel, perezd, mklabs, temsa