Node

From Free Software Directory
 
Jump to: navigation, search


[edit]

Node

http://nodejs.org/
evented I/O for V8 javascript.

Evented I/O for V8 javascript. Node's goal is to provide an easy way to build scalable network programs. This is in contrast to today's more common concurrency model where OS threads are employed. Thread-based networking is relatively inefficient and very difficult to use. Node will show much better memory efficiency under high-loads than systems which allocate 2mb thread stacks for each connection. Furthermore, users of Node are free from worries of dead-locking the process, there are no locks. Almost no function in Node directly performs I/O, so the process never blocks. Because nothing blocks, less-than-expert programmers are able to develop fast systems. Node is similar in design to and influenced by systems like Ruby's Event Machine or Python's Twisted. Node takes the event model a bit further: it presents the event loop as a language construct instead of as a library. In other systems there is always a blocking call to start the event-loop. Typically one defines behavior through callbacks at the beginning of a script and at the end starts a server through a blocking call like EventMachine run(). In Node there is no such start-the-event-loop call. Node simply enters the event loop after executing the input script. Node exits the event loop when there are no more callbacks to perform.





Licensing

License

Verified by

Verified on

Notes

Verified by

Kelly Hopkins

Verified on

5 May 2010

Verified by

Kelly Hopkins

Verified on

5 May 2010

License

Expat

Verified by

Kelly Hopkins

Verified on

5 May 2010




Leaders and contributors

Contact(s)Role
See Node AUTHOR file Maintainer


Resources and communication

AudienceResource typeURI
Savannah (Ref)https://savannah.nongnu.org/projects/node
Debian (Ref)https://tracker.debian.org/pkg/node
DeveloperForumhttp://groups.google.com/group/nodejs
Ruby (Ref)https://rubygems.org/gems/node
Python (Ref)https://pypi.org/project/node


Software prerequisites




Entry













"Python (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Ruby (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Debian (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Savannah (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.










Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.