Nodejs Resources


npm - Remove unused CSS (works with Gulp and Grunt)

EventEmitter - A monolithic page of old frameworks and modules which may still exits - A template engine for Node - a development tool for Node.js that automatically restarts the node process when a file is modified. See - a very elegant way to express combinations of serial and parallel actions. My personal reccomendation. - 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). - 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. - 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.

Now (sometimes called Now.js) is an extension of the 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 (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 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 code (which is still very easy). 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 — 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.

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.


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


Blogs & Podcasts:

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