What exactly is node.js used for?

node.js

node.js Problem Overview


Is it a web server or a programming language for server-side scripts?

node.js Solutions


Solution 1 - node.js

From Node.js website

> Node.js is a platform built on Chrome's JavaScript runtime for easily > building fast, scalable network applications. Node.js uses an > event-driven, non-blocking I/O model that makes it lightweight and > efficient, perfect for data-intensive real-time applications that run > across distributed devices.

Event-driven means that the server only reacts when an event occurs. This allow us to create high performance, highly scalable, “real-time” applications.

Finally, this is probably the best article that will get you excited about Node.js

Solution 2 - node.js

Directly from the [tag:node.js] tag wiki, make sure watch some of the talk videos linked there to get a better idea.


Node.js is an event based, asynchronous I/O framework that uses Google's V8 JavaScript Engine.

Node.js - or just Node as it's commonly called - is used for developing applications that make heavy use of the ability to run JavaScript both on the client, as well as on server side and therefore benefit from the re-usability of code and the lack of context switching.

It's also possible to use matured JavaScript frameworks like YUI and jQuery for server side DOM manipulation.

To ease the development of complex JavaScript further, Node.js supports the CommonJS standard that allows for modularized development and the distribution of software in packages via the Node Package Manager.

Applications that can be written using Node.js include, but are not limited to:
  • Static file servers
  • Web Application frameworks
  • Messaging middle ware
  • Servers for HTML5 multi player games

Solution 3 - node.js

What can we build with NodeJS:

  • REST APIs and Backend Applications
  • Real-Time services (Chat, Games etc)
  • Blogs, CMS, Social Applications.
  • Utilities and Tools
  • Anything that is not CPU intensive.

Solution 4 - node.js

Node.js is a runtime that compiles and executes javaScript. It can be used to develop application that runs end-to-end in JavaScript i..e both client side and server side uses javascript code unlike most of todays' application with rich client framework (angularJs, extJs) and RESTful server side APIs

Solution 5 - node.js

Watch this YouTube video:

[](http://www.youtube.com/watch?v=_RRnyChxijA "Building a JavaScript-Based Game Engine for the Web")

Building a JavaScript-Based Game Engine for the Web

Solution 6 - node.js

The Developers Survey from Stack Overflow is a good source of information for you to start this research.

2017: https://insights.stackoverflow.com/survey/2017#most-popular-technologies

2016: https://insights.stackoverflow.com/survey/2016#technology-most-popular-technologies

Why the Hell Would You Use Node.js

https://medium.com/the-node-js-collection/why-the-hell-would-you-use-node-js-4b053b94ab8e

Where Node.js really shines is in building fast, scalable network applications, as it’s capable of handling a huge number of simultaneous connections with high throughput, which equates to high scalability. How it works under-the-hood is pretty interesting. Compared to traditional web-serving techniques where each connection (request) spawns a new thread, taking up system RAM and eventually maxing-out at the amount of RAM available, Node.js operates on a single-thread, using non-blocking I/O calls, allowing it to support tens of thousands of concurrent connections (held in the event loop).

Solution 7 - node.js

Node.js is used for easily building fast, scalable network applications

Solution 8 - node.js

Node.js is exactly used for back-end development, but it is popular as a full-stack and front-end solution as well. It is used primarily to build web applications, but it is a very popular choice for building enterprise applications too.

Developers like it because of its versatility, agility and performance. It increases productivity and application performance in a significant way. Since Node.js has a long-term support (LTS) plan that provides security and stability, it's no wonder that huge enterprises constantly add it to their stacks.

It is non-blocking and event-driven. Node.js applications uses “Single Threaded Event Loop Model” architecture to handle multiple concurrent clients. These features are key factors to make real time web applications.

Solution 9 - node.js

Node.js is an open source command line tool built for the server side JavaScript code.

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications.

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

The basic philosophy of node.js is:

Non-blocking I/O - every I/O call must take a callback, whether it is to retrieve information from disk, network or another process. Built-in support for the most important protocols (HTTP, DNS, TLS) Low-level. Do not remove functionality present at the POSIX layer. For example, support half-closed TCP connections. Stream everything; never force the buffering of data.

Credit - Simple Overview About Node.js

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionManuel de LeonView Question on Stackoverflow
Solution 1 - node.jsAhmad AlfyView Answer on Stackoverflow
Solution 2 - node.jsIvo WetzelView Answer on Stackoverflow
Solution 3 - node.jsjazeb007View Answer on Stackoverflow
Solution 4 - node.jsPonmudi VNView Answer on Stackoverflow
Solution 5 - node.jsPeter LimbachView Answer on Stackoverflow
Solution 6 - node.jsMd Ashiqur RahmanView Answer on Stackoverflow
Solution 7 - node.jsRahulView Answer on Stackoverflow
Solution 8 - node.jsAbdul Alim ShakirView Answer on Stackoverflow
Solution 9 - node.jsGowriShankarView Answer on Stackoverflow