JavaScript VNCはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

最近は何でもJavaScriptでやってしまおうという試みが多数立ち上がっています。今回はなんとVNCクライアントをJavaScriptで作ってしまおうという野心的な試みをJavaScript VNCが行っています。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-02 21.26.25_thumb.1378125300.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-02 21.26.25.1378125300.png)
接続前の画面。RealVNCがサーバに使えます。

[![](http://images.moongift.jp/2013/09/Screenshot 2013-09-02 21.32.04_thumb.1378125305.png)](http://images.moongift.jp/2013/09/Screenshot 2013-09-02 21.32.04.1378125305.png)
接続しました。レスポンスはあまり良くありませんのでご注意を。

JavaScript VNCの面白いところは僅か200行で出来ていることでしょう。node向けに既に提供されているWebSocketsなどのライブラリを使って、VNCと通信する部分をサーバが、その結果をWebブラウザでレンダリングする方式をとっています。解説記事も充実していて、これだけで出来てしまうのかと圧巻の作りになっています。

MOONGIFTはこう見る

確かにほぼJavaScriptだけで出来ていますが、クライアントサイドだけでなくサーバサイドのJavaScriptも使っていますのでご注意ください。しかしJavaScriptをマスターすればこのようなことも出来てしまうのかと驚いてしまうはずです。

世の中の流れ的には何でもJavaScriptという流れがあります。iOS/Androidアプリ、Webサービス、サーバサイドのコードが一通りJavaScriptで書けるようになっています。nodeが主流になるにはまだまだかかりますが、Railsが数年で一気にシェアを高めたのと同じように見逃せない存在なのは間違いありません。

VNC client on 200 lines of JavaScript | Minko Gechev’s blog

mgechev/js-vnc-demo-project