An incomplete tour of just a few of the awesome unconventional (for a web stack) things people have built with node.js. Presented at the Colorado Springs Open Source Users Group 2/23/2012
5. “Most languages were designed to
solve computational problems, but
Node.js is different.
Node.js was designed from the
ground up to efficiently handle the
communication that is at the heart
of modern web applications.”
http://www.joyentcloud.com/products/smart-appliances/
node-js-smartmachine/
7. Chris Johnson @mast3rof0
“Mozilla uses a single node
thread to simulate 180K users! I
have commercial testing gear that
can't do that! #nodesummit”
- 1/24/2012
11. DNode async rpc through
sockets/JSON
symmetric remote function calling
between processes
to/from the browser via socket.io
JSON protocol
dnode ports in ruby, java, php,
perl
https://github.com/substack/dnode
15. fast headless simulated
zombie.js
browser testing
HTML5 parsing and Cookies and Web
dealing with tag Storage
soups
XMLHttpRequest in all
DOM Level 3 its glory
implementation
setTimeout/
HTML5 form fields setInterval
(search, url, etc)
pushState, popstate
CSS3 Selectors with and hashchange events
some extensions
alert, confirm and
prompt
16. headless WebKit with
JavaScript API
Fast and native
NOT node.js
But node is commonly used as an
orchestrator
17. phantomjs-node
“...implements a nauseously
clever bridge between
Phantom and Node”
24. node-canvas HTML5 server-side canvas
API fallback
run canvas API calls in node, send
an image back to the client
great for some mobile use cases
legacy browser fallback
https://github.com/LearnBoost/node-canvas
33. node_pcap libpcap bindings
decode, print and analyze
packets
node makes it very nice since
each packet is emitted as a
Buffer by the EventEmitter
https://github.com/mranney/node_pcap
35. shell scripting
fs core library - abstract OS or
shell implementation details
can leverage the node module
ecosystem
great if you need to do I/O beyond
filesystem
npm client