HTML and CSS Reference
The reason it's essential to write nonblocking code in Node is that Node is single-threaded, meaning that
there is only a single thread of execution at a given time. If the code stalls for any reason, the entire server stops
taking requests. This might seem like a disadvantage, but by being single-threaded, Node can handle a huge
number of concurrent requests without massive amounts of memory usage. Being single-threaded also means
that Node doesn't need to switch contexts between threads, which provides a performance boost. Combine this
people are excited. A language that people decried as a kiddie scripting language for years suddenly is beating
server-side language stalwarts such as Python, PHP, and Ruby in benchmarks.
first is to write a server that can handle web requests. The second is to write command-line scripts that can auto-
mate certain tasks. This topic discusses both uses.
ing a Canvas Editor,” discuss building game servers using Node, something that an evented single-threaded
server does well.
With the release of Node 0.6, easy installation on Windows became a reality. Previously you needed to install
a UNIX-style POSIX environment such as Cygwin to get Node to run. Since 0.6, Node comes with installer
You can run the installer package and follow the prompts to get Node up and running, unless you use Win-
dows, in which case you have no other option. The installer isn't the ideal method to install node, as it won't set
up a development environment alongside it. Without this development environment, you won't be able to install
modules with native C and C++ code. For this reason, you should follow these instructions for your specific
Installing Node on Windows
On Windows, the only current option is to install Node from a package or compile with Visual Studio. You will,
unfortunately, have difficulty installing modules that have native source code that needs to be compiled (such
as the node-canvas module used in a later section).
As of this writing, there isn't an up-to-date, prebuilt node-canvas Windows library, so to follow along with
the tutorial in the next section that uses node-canvas , you can download VMWare's VMPlayer software at
www.vmware.com/products/player . VMPlayer is a free piece of software that enables you to run a virtual Linux
computer from inside of Windows. You can download a Linux image from www.thoughtpolice.co.uk/vmware .
Find the Ubuntu Desktop image (not the server image) with the largest number (11.10 as of this writing),
download it, and run it from VMPlayer. When that machine is up and running inside of VMPlayer, you can
launch the command line from Applications > Accessories > Terminal. From there follow the Linux installation
instructions. To copy a file into the Linux virtual machine, you can just drag it from your desktop onto the ma-
chine and it will add it to the desktop.