The smartest way to program smart things: Node.js
The reasons to use Node.js for hardware are simple: it’s standardized, event driven, and has very high productivity.
Why is this a big deal? It makes programming hardware much simpler — college students can learn Node.js in a weekend. And it makes it possible to build and program an entire IoT device, from start to finish, in less than four hours. This may very well be the future of hardware programming.
Intel principal engineer Michael McCool will be at O’Reilly’s Solid Conference, June 23-25, 2015, to lead a workshop on using Node.js and HTML5 to program the Internet of Things. “In only three and a half hours, we’re going to walk people through building a complete and sophisticated IoT system,” McCool told me in an interview. That includes building a hardware prototype, hardware interfacing, streaming telemetry, building a UI on the phone, and creating an app. “The Web server part is just five lines of code. The rest of it is similarly simple,” he said. “The complete code is only about 200 lines on the embedded device, plus a little bit more…when you add in graphs of things for streaming data.”
One of the other strengths of Node.js is its huge library of packages, more than 132,000 and growing. Last September, when McCool last taught his course, it was 74,000. Not all of them work for small devices, but they are easy to install with one command. And Node.js also supports a number of other IoT-specific communication systems, such as MQTT, which is designed for fast status updates from small devices.