Node.js - Ideal choice for IoT

There has been a lot of talk lately about the rising popularity of Node.js, but no one expected it would grow this quickly. Built on Google’s V8 open source JavaScript engine, Node.js is known for its speed, scalability and efficiency—making it great for developing data-intensive, real-time applications, that of course, makes Node.js well-suited for the IoT, which is reliant on data-intensive, real-time devices and applications.

Devices within the IoT, such as sensors and wearables, generate large floods of requests. Node.js is well-suited for managing these requests via streams that can be processed and monitored very efficiently. Stream instances are basically Unix pipes. They can be readable, writable or both, and are easy to work with. Streams allow users to pipe requests to each other, or stream data directly to its destination. No caching, no temporary data--just stream from one place to another.

Riding on the widespread popularity of Node.js in combination with low cost prototyping hardware, a new set of projects have emerged letting client side web developers use their skills to start controlling elements in the physical world.

The Thing System

The Thing System is a set of software components and network protocols that aims to fix the Internet of Things. Our steward software is written in node.js making it both portable and easily extensible. It can run on your laptop, or fit onto a small single board computer like the Raspberry Pi.

Node-RED

A visual tool for wiring the Internet of Things, a creation of the IBM Emerging Technology Services team.

noduino

A simple and flexible JavaScript and Node.js Framework for accessing basic Arduino controls from Web Applications using HTML5, Socket.IO and Node.js.

DeviceJS

DeviceJS is a JavaScript based development platform for reacting to sensors and controlling devices. It’s built on top of Google’s V8 JavaScript engine, Node.js and a real-time JSON database. A DeviceJS application can run on a single device, or across many devices in different locations.