[N予備校プログラミングコース] 第3章 Node.js / Slack / Hubot

N予備校プログラミングコース、「第3章 サーバーサイドプログラミング入門」を受講し始めた。
第3章はサーバーサイドのプログラミング入門ということで、いよいよ本格的なプログラミングに入ってきた感じがする。

まずは Node.js から。
nodebrew 及び Node.js のインストール、簡単な Node.js のプログラミング、npm を使ったパッケージ管理を学んだ。
サーバーサイドプログラミングといえば Perl で CGI という、15年か20年くらい前の知識で止まってるオジサンなので、JavaScript でサーバのプログラムが書ける、というのは隔世の感がある。
まだ JavaScript に慣れてないこともあってか、イマイチしっくりこないが、この辺はコードを書きまくって身体で覚えていくしかないのだろう。

続いて Slack というチャット、というよりはコミュニケーションツールのサイトにアカウントを登録し、Hubot という GitHub が開発した、bot 作成のためのフレームワークを使って、Slack 上で ToDo 管理するための bot を Node.js で作成した。
スクリーンショット 2018-05-04 22.09.30.png
ちなみに bot サーバは第2章でセットアップした仮想マシン上で動かしている。
Slack はこれまでにも業務で使ったことはあるし、また Hubot も以前常駐していたソシャゲ会社で使われていたので存在は知っていたが、実際自分でこういったのを作れるのは楽しい。
こういった ToDo 管理程度では実用性はあまりなさそうだが、他のサービスとも連携させると何かいろいろできそうな気がしてくる。

Node.js についてはデメリットも多々指摘されているようではあるが時間が解決するであろう問題が殆どだろうし、フロントエンドと同じ言語で書けるし、Node.js 自身がWebサーバとして動いてくれるから Apache とか nginx のセットアップの知識も不要だし、ひとまずサクッと Web 系のサービス作ってみたい的な用途にはいいのかも知れない。
規模や内容次第ではあるが、ゲームのAPIサーバとしても十分いけるのではないだろうか。
それどころか、去年あたりからカジュアルゲーム界隈はネイティブからHTML5への回帰が始まってきた感があり、そうなるとクライアント/サーバ両方同じ言語で書けるという、グラニがC#でやってるようなことが JavaScript でも実現できそう。
それにデスクトップアプリケーションのフレームワークである Electron も中身は Node.js + Chromium で、既に Atom や VSCode、Slack といった実績もあるし、組込み用途でも Intel Edison や Raspberry Pi で動くようだ。

JavaScript + Node.js ができて、それに加えて React か Angular の経験があれば、当面どの業界でも食っていけそうな気がする。
C++ と Qt で2画面ファイラなんて作ってる場合じゃねぇ!w


この記事へのコメント