Nodejs Resources

nodejs

npm

http://nodejs.org/
http://nodejs.org/download/
http://nodejs.org/documentation/
http://nodejs.org/documentation/tutorials/
http://nodejs.org/documentation/localization/
http://nodejs.org/docs/latest/api/cluster.html
http://nodejs.org/api/stream.html
http://nodejs.org/api/
http://nodejs.org/api/url.html
http://nodejs.org/api/crypto.html
http://nodejs.org/api/path.html
http://nodejs.org/api/string_decoder.html
http://nodejs.org/api/fs.html
http://nodejs.org/community/
http://nodejs.org/api/modules.html#modules_folders_as_modules
https://www.npmjs.org/doc/json.html
http://npmjs.org/stream-adventure
https://github.com/substack/stream-handbook

https://www.joyent.com/

https://nodesecurity.io/

http://www.nodecloud.org/
https://npmjs.org/
http://node-modules.com/
http://nodetoolbox.com/
http://eirikb.github.com/nipster/
http://bower.io/
https://atmospherejs.com/

http://www.sitepoint.com/using-node-mysql-javascript-client
https://github.com/purifycss/purifycss - Remove unused CSS (works with Gulp and Grunt)

EventEmitter

https://github.com/joyent/node/wiki/modules - A monolithic page of old frameworks and modules which may still exits
http://nodejs.org/docs/v0.4.11/api/appendix_1.html

http://nodeschool.io/
http://jade-lang.com/ - A template engine for Node

https://github.com/LearnBoost

https://github.com/fgnass/node-dev - a development tool for Node.js that automatically restarts the node process when a file is modified. See https://medium.com/@sagish/node-for-rails-developers-using-compound-js-e490fb9c0c73

https://github.com/creationix/step - a very elegant way to express combinations of serial and parallel actions. My personal reccomendation.
http://stackoverflow.com/questions/5989538/nodejs-parallel-callback-design-pattern/7167192#7167192

https://github.com/coolaj86/futures - much more flexible (is that really a good thing?) way to express ordering through requirements. Can express things like "start a, b, c in parallel. When A, and B finish, start AB. When A, and C finish, start AC." Such flexibility requires more care to avoid bugs in your workflow (like never calling the callback, or calling it multiple times).
http://stackoverflow.com/questions/5989538/nodejs-parallel-callback-design-pattern/5994989#5994989

https://github.com/caolan/async - more traditional library with one method for each pattern. I started with this before my religious conversion to step and subsequent realization that all patterns in Async could be expressed in Step with a single more readable paradigm.

http://tamejs.org/ - Written by OKCupid, it's a precompiler that adds a new language primative "await" for elegantly writing serial and parallel workflows. The pattern looks amazing, but it does require pre-compilation. I'm still making up my mind on this one.

https://github.com/Sage/streamlinejs

http://www.infoq.com/articles/surviving-asynchronous-programming-in-javascript

https://www.npmjs.com/package/seam

https://github.com/mishoo/UglifyJS

https://github.com/ddopson/underscore-cli

https://www.npmjs.com/package/browserify
https://github.com/substack/node-browserify

https://github.com/dominictarr/event-stream
https://github.com/flatiron/resourceful
https://github.com/jesusabdullah/node-ecstatic
https://github.com/flatiron/broadway
https://gist.github.com/jesusabdullah/1906886

https://github.com/pgte/nock
https://github.com/maxogden/rewriter
http://mikealrogers.com/

https://github.com/dshaw/mixture

http://vimeo.com/77289035
http://jsfest.com/
http://digitalocean.com/

http://nodeconf.com/

https://www.npmjs.com/package/bower

https://www.npmjs.com/package/cordova

https://www.npmjs.com/package/gulp

https://www.npmjs.com/package/forever

https://www.npmjs.com/package/grunt
http://gruntjs.com/

http://mean.io/

http://momentjs.com/

https://www.npmjs.com/package/oknow

https://www.npmjs.com/package/nestest

https://www.npmjs.com/package/react-math

https://www.npmjs.com/package/oose-sdk

https://www.npmjs.com/package/shared-memory
https://github.com/ericdum/node-shared-memory

Now:
http://nowjs.com/
http://vimeo.com/20936525
http://nowjs.com/doc
http://nowjs.com/guide
https://github.com/flotype/now
Now (sometimes called Now.js) is an extension of the Socket.io library. It is deceptively simple: Now creates a 'now' namespace on both the client and the Node.js server, and all data and function calls are synced between the two. This means that you can write a function on the client side and call it from the server side, and vice versa, without any security risk to the rest of your server-side code. Since it works through Socket.io (see this library's description below), function calls between client/server are near-realtime. The result is that you can write an extremely effective multiuser application such as a real time chat room in only a handful of lines. VERY slick, and under rapid development, getting new features all the time. For ease of use, I recommend using it in place of socket.io for any application in which bandwidth overhead is accepted. Each remote call as sent as a JSON string with other pieces of data, so bandwidth/latency-sensitive applications may benefit more from using raw Socket.io code (which is still very easy).

Socket.io:
http://socket.io/
https://github.com/LearnBoost/Socket.IO-node
Socket.io is the whole reason many people start using Node.js in the first place: It is a websockets server/client that's dead easy to use, and it even has browser fallbacks. So if a browser doesn't support websockets, it will fall back to flash. If it doesn't have flash, it will fall back to long polling. No matter what it uses, you don't have to support different transports in your code — Socket.io will do all the heavy lifting and let you treat the data coming in like a constant stream no matter how it connects. Visit the website to see how dead simple this is.

https://github.com/learnboost/node-canvas
https://github.com/ajaxorg/node-o3-canvas
https://github.com/taggon/node-gd
https://github.com/rsms/node-imagemagick

Node-canvas has a direct syntax equivalence to using canvas in the browser, so all current documentation for the browser can be applied immediately within your Node.js code. This means the learning curve is ridiculously shallow if you already have experience with in-browser canvas; but if you don't, then everything you learn for node-canvas can be used directly in the browser with minimal changes, so you essentially learn two things at once. However, the final part of the decision came down to Cairo performing best in the image tests I did, involving comparisons of resizing images on the fly. There are still a couple of issues I still have with Cario, but in the overall scope these are relatively minor.

https://github.com/learnboost/node-canvas
http://cairographics.org/
https://github.com/LearnBoost/node-canvas/blob/master/Readme.md
http://www.screenr.com/CTk

https://www.npmjs.com/package/k-model

https://www.npmjs.com/package/battlenet-api

https://www.npmjs.com/package/easy-read

https://www.npmjs.com/package/gulp-combine-mq

https://www.npmjs.com/package/underscore

https://www.npmjs.com/package/async

https://www.npmjs.com/package/lodash

https://www.npmjs.com/package/commander

https://www.npmjs.com/package/colors

https://www.npmjs.com/package/debug

https://www.npmjs.com/package/minimist

https://www.npmjs.com/package/q

https://www.npmjs.com/package/mkdirp

https://docs.npmjs.com/
https://www.digitalocean.com/community/tutorials/how-to-use-node-js-request-and-cheerio-to-set-up-simple-web-scraping

https://www.npmjs.com/package/pm2

https://www.npmjs.com/package/grunt-cli

https://www.npmjs.com/package/karma

http://developer.yahoo.com/cocktails/mojito/

http://nodejitsu.com/
http://blog.nodejitsu.com/scaling-isomorphic-javascript-code

http://www.nodebeginner.org/
http://nodeguide.com/
http://howtonode.org/
https://npmjs.org/
https://github.com/joyent/node/wiki/modules

https://github.com/chetan51/ni
http://mcavage.github.com/node-restify/
https://github.com/jed/fab
http://obvious.github.com/matador/
http://visionmedia.github.com/expresso/
http://www.senchalabs.org/connect/

EventSource
http://html5doctor.com/server-sent-events/

Database, unit test, how to create external modules that are installable via npm

https://github.com/GoalSmashers
https://github.com/davglass

https://www.nodejitsu.com

Books:
http://rpjs.co/
http://www.amazon.com/gp/product/1430265957/
https://leanpub.com/jsfun

Blogs & Podcasts:
http://nodeup.com/
http://dailyjs.com

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License