ws-ioはWebSocketとI/Oを組み合わせることでWebベースのターミナルを実現する。

ws-ioはRuby製のオープンソース・ソフトウェア。HTML5で新しく登場した機能は幾つもあるが、その中でも特殊な位置にあるのがWebSocketではないだろうか(仕様からは切り離されているが)。これまでになかったソケット通信をどう活かすかが問題だ。


Web上でirb

そのため、出ているものもチャットくらいがメインで、まだまだ模索している段階だ。そのような時期にはとにかく色々なものを作り、その中で最もマッチしていると思われるものを見極めなければならない。今回はその一つ、ws-ioを紹介しよう。

ws-ioはWebSocketとサーバのI/Oをつなげてしまうソフトウェアだ。例えばShellとつなげてしまうことで、Webブラウザ上にターミナルが立ち上がると言った具合だ。WebSocketで繋がっているので、対話型のターミナルとして問題なく動作する。


Web上でターミナル

パスワード入力やタブによる入力補完は現状、動作しない。デモとしてws-irbというコマンドがあり、これを起動するとWebブラウザ上でirbが使えるようになる。WebSocketの試みとして非常に面白いソフトウェアだ。

MOONGIFTはこう見る

WebSocketを使ったデモも幾つか出てきているが、やはりまだテスト中と言った段階だ。WebGLと組み合わせればゲームとして発展する可能性もあるが、今しばらくかかるだろう。となればFTPやSSH、VNCといった既存のプロトコルをWeb化してしまうのも面白い。

WebSocketはSSLにも対応しているので通信中はセキュアだ。認証の仕組み自体は既存のWeb技術と組み合わせれば良いだろう。WebベースのIDE(統合開発環境)が幾つか出ているが、WebSocketと組み合わせれば意外と実用的かも知れない。

jugyo/ws-io - GitHub