2017年6月17日
JavaScript が持っている特徴の一つにイベント駆動型のプログラミングがしやすいという点が大きく寄与していると思います。
たとえばNode.jsでは EventEmitter
という仕組みがあり、 foo.on('some event', bar)
のように何かイベントが発火した時に関数が実行される事や foo.emit('some event')
のようにイベントを発火させることが非常に簡単にできます。
IoTのような領域ではセンサーの情報をイベントとして表現することが多く、 Node.js にはそのイベント駆動型のプログラミングがしやすい土壌があったという事なのではないかと思います。
たとえば NASA は宇宙服内の環境に Node.js を使っているようです。
https://hackernoon.com/ground-control-to-major-tom-how-nasa-uses-node-js-8d011e167436
NASA がやってるのは宇宙の内部にある水量調整でこれが内部と外部の気温調整に必要だったりするようです。これもセンサーですね。
このイベント駆動しやすいという特徴を活かしてjohnny fiveのようなIoTプラットフォームが存在し、それがIoTのエコシステム全体を盛り上げているんじゃないかと思っています。