2014年4月28日月曜日

東京Node学園 12時限目 に参加してきました #tng12

東京Node学園 12時限目

http://connpass.com/event/5835/

キッカケ

今回LTをするキッカケとなったのは、日本Node.jsユーザグループ代表が次のようなツイートをしていたのを見かけたからです。



NodynVert.xで作られていたのは知っていたので、これを機にいろいろ調べてまとめておこうと思い、応募しました。

スライド

今回のスライドはこちらです。
http://www.grimrose.org/tng12/

node.jsということでbespoke.jsを使ってみました。

Jadeをテンプレートとして使っているので、すんなりと利用する事が出来ました。

bespoke.jsのいいところは、githubで公開するtaskが用意されているので、localで確認したら grunt deploy でGithub Pagesにデプロイがすぐに出来るのはありがたいです。

Node.js APIとNodynとVert.x

スライドの最後の方にあるデモのコードですが、実際に下のような感じのコードにしてみました。

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
var vertx = require('vertx');
vertx.createHttpServer().requestHandler(function(req) {
req.response.headers['Content-Type'] = "text/plain";
req.response.statusCode(200).end("Hello World");
}).listen(8080, 'localhost');
view raw demo_server.js hosted with ❤ by GitHub


このコードをvertx run demo_server.jsで動かしてみると、普通に http://localhost:1337http://localhost:8080 でアクセス出来ます。

もちろんこのコードではnodeのコマンドは動きません。

ということで、このコードが動くということは、Vert.xのmoduleが使えることが出来ると考えていいと思います。

同居は可能だとしても、「混ぜるな危険」の部類に当たるのであまりおすすめはしません。

Nodyn自体は、まだまだこれからというフレームワークです。

Nodynが全てのNode.jsのAPIを導入したとしても、既にnpmのエコシステムがこれだけ広がってしまっていると、そのままでは厳しいのではないかと思います。

ですので、NodynはVert.xがNode.jsに繋がるためのインターフェースになっていくのではないかと期待しています。

Vert.xに触れるようになってから、他のEvent-Drivenなフレームワークにも興味を持つようになったので、基礎となるNettyを本格的に学ぶ必要があると考えるようになりました。

Netty in Actionも出るみたいなので、楽しみです。

おわりに

参加者のほとんどが初参加だったということで、JVMでしかもニッチなフレームワークの話をしてしまって、本当に大丈夫だったのだろうか心配です。

しかも、LTの一番手なのにいきなり時間オーバーしてしまって申し訳ありませんでした。

東京Node学園の皆様、会場と食事まで提供して下さったDeNA様、ありがとうございました。