はじめに
IoTやウェアラブルデバイスは、これからのITトレンドを牽引していく可能性を秘めています。これらの開発は組み込み系のジャンルだととらえられがちですが、実はJavaScriptが強く関連し、インターネット、Web系のジャンルだとも言えます。
インターネット、Web系の技術者がIoTなどに目を向けることによって、従来にはない新しいサービスや製品が考えだされていく可能性があります。そこからチャンスを掴んでスキルアップをしていくために、JavaScriptが使えるJS Boardからはじめてみるのもよいでしょう。
昨年から筆者ら数名でJS Board勉強会という活動をしています。JavaScriptで動作するデバイスやWoTについての情報共有をするための勉強会です。
今年はMaker Faire Tokyo 2015に出展しました。正直こんなマニアックな情報はあまり興味を示されないだろうと思いながらの出展でしたが、思いの外多くの方々に関心を持っていいただき驚きました。
特にたくさんのWeb技術関係の方々にお越しいただきWeb技術の未来を感じていただけたのは嬉しかったです。
なぜ JavaScriptがイイのか!?
「なぜJavaScriptなの??」勉強会や展示をやっているとこのご質問を必ずいただきます。
まあたしかに、JavaScriptというとWebブラウザで動作するアプリケーションを開発するための言語で、組み込み開発でJavaScriptと言われると、なんとなく違和感を覚えますよね。組み込み開発向けにはC、C++、Java、Python、mRubyなどがよく使われており、それらを習得済みの場合はJavaScriptを使う必要はないと思います。
しかし、これから組み込み開発をやってみたいと思う、特にWebクリエイターの方々には以下の様なメリットがあると筆者は考えています。
多くのクリエイターが使っている言語である
Web制作においては、今ではJavaScriptの利用がほぼ必須となっているのではないでしょうか。例えばWebが関係するシステム開発においては、Webプログラマーだけでなく、デザイナーもJavaScriptの知識を求められるケースが少なくなくないでしょう。
Web制作業以外でも、例えばNode.jsでのサーバーサイドプログラミングや、Cordova/PhoneGapなどでのネイティブアプリ開発など、Web技術に関係する開発の際はJavaScriptの知識が必要になることが多いです。その意味でJavaScriptは世界中で最も多くの人々に使われているスクリプト言語といっても過言ではないかもしれません。
このような状況から、Webに関する開発に携わる多くの方がJavaScriptを知っており、多くの情報がWeb上で共有できるというメリットがあると思います。
多くのプラットフォームで動作しライブラリも豊富
JavaScriptというと先述のとおり主にWebブラウザ上で動作する言語として知られています。しかし近年多くのプラットフォームで動作するようになってきています。
例えばサーバーサイドでは、V8エンジンで動作するJavaScript実行環境Node.jsが著名です。
モバイルプラットフォームに目を向けてみると、スマートフォン用Webブラウザで実行できるのはもちろんのこと、iOSやAndroidではアプリケーション開発用の組み込みWebブラウザ、いわゆるWebViewコンポーネントを利用したアプリケーション上でも動作します。
Mozillaが開発するFirefox OS、Sumsung, Intelなどが開発を主導するTizenはアプリケーション開発技術にHTML5を採用しているため、JavaScriptを用いてプラットフォームネイティブなアプリケーションを開発できます。
一般的に利用される多くのコンピュータ機器には、OSの種類を問わずモダンなWebブラウザが搭載されているので、その点でもJavaScriptは多くのプラットフォームで動作すると言えるかもしれません。しかし、近年JavaScriptはサーバーサイド等、Webブラウザ以外でも動作するようになってきました。そしてここへきて組み込み開発で採用されるケースが出てきたことは、JavaScriptを習得すると実に多くのプラットフォームで開発が可能になるということを示しているのかもしれません。
また、これはJavaScriptに限った話ではないですが、jQuery、underscore.js をはじめとして多くの高機能なライブラリがオープンソースで公開されています。
ソフトウェアアプリケーション開発において使われる軽量なスクリプト言語の持つ高いオープン性が、組み込み開発で効果を発揮するケースは多いでしょう。