Over a million developers have joined DZone.

What's New in Node.js?

DZone 's Guide to

What's New in Node.js?

· Web Dev Zone ·
Free Resource
Today, developers of the JavaScript server called node.js announced the software's next version.  Node.js 0.2 features several important bugfixes and an upgrade to the V8 JavaScript engine that the server uses.  This library is quickly gaining popularity among developers who want to build scalable web services using JS on the server side.

Inspired by Ruby's Event Machine and Python's Twisted, node.js uses an event driven model instead of thread based networking.  The event driven model uses one thread to execute all of the code as demanded by events.  This makes the server more efficient with memory and avoids deadlock issues since there are no locks.  In node.js, HTTP is a first class protocol, and there is a library that allows the handling of streaming data through the framework.  Node.js can open doors and be highly convenient for developers that specialize only in JavaScript.  It enables the possibility of sharing JS code between browser and server.  

Here are the new features in node.js 0.2.

  • Process.title support for FreeBSD, Macintosh, and Linux
  • Fixed an OpenSSL 100% CPU usage error
  • Implemened net.Server.maxConnections.
  • Fixed process.platform and added process.version
  • Added --without-snapshot configure option
  • Readline REPL improvements
  • Upgrades V8 to 2.3.8
  • More bugfixes

The latest version of node.js has been tested on Mac, Linux, Windows, Solaris, FreeBSD, and OpenBSD.  You can download node.js here.  Make sure you also download Python 2.4 or higher to build node.js.  The V8 JavaScript engine in node.js only supports ARM and 32 and 64-bit Intel architectures.  Node.js and its components are distributed under a number of licenses including BSD, GPL2, and MIT.

You can learn server side JavaScript using node.js here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}