Part of the Programming glossary:

Node.js, often called simply "Node" in conversation, is a development platform built on top of Google's V8 JavaScript virtual machine. While JavaScript engines (including V8) are traditionally run in Web browsers to form the client side of a client/server application, the Node.js libraries are focused on building server-side applications in JavaScript.

Node.js is intended to run on a dedicated HTTP server and to employ a single thread with one process at a time. Node.js applications are events-based and run asynchronously. Code built on the Node platform does not follow the traditional model of receive, process, send, wait, receive. Instead, Node processes incoming requests in a constant event stack and sends small requests one after the other without waiting for responses.

This is a shift away from mainstream models that run larger, more complex processes and run several threads concurrently, with each thread waiting for its appropriate response before moving on.

One of the major advantages of Node.js, according to its creator Ryan Dahl, is that it does not block input/output (I/O). Some developers are highly critical of Node.js and point out that if a single process requires a significant number of CPU cycles, the application will block and that the blocking can crash the application. Proponents of the Node.js model claim that CPU processing time is less of a concern because of the high number of small processes that Node code is based on.

See also: PHP, Ruby

Continue reading about Node.js:

Node.js is cancer

Why everyone is talking about Node

Node.js contributes to increase focus on events processing

Nodejs.org

Where does Node.js stand?

This was last updated in April 2012
Contributor(s): James Denman
Posted by: Margaret Rouse

Related Terms

Definitions

  • application program interface (API)

    - An application program interface (API) is code that allows two software programs to communicate with each other. Typically, APIs are released for third-party development as part of a software devel... (SearchExchange.com)

  • algorithm

    - An algorithm (pronounced AL-go-rith-um) is a procedure or formula for solving a problem. (WhatIs.com)

  • abstraction

    - Abstraction (from the Latin abs, meaning away from and trahere, meaning to draw) is the process of taking away or removing characteristics from something in order to reduce it to a set of essential... (WhatIs.com)

Glossaries

  • Programming

    - Terms related to software programming, including definitions about programming languages and words and phrases about software design, coding, testing and debugging.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question. Find an Answer.Powered by ITKnowledgeExchange.com

Ask An IT Question

Get answers from your peers on your most technical challenges

Ask Question

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.