このエントリーをはてなブックマークに追加

ScalaをVert.xで利用する

渋谷Java

第五.五回 #渋谷java

http://connpass.com/event/5482/

Vert.x de Scala

grimrose / shibuya-java-05-5

今回の発表に向けて、何か新しい事をしてみたいと思って色々と考えてました。 スライドをhtmlで作るのをやってみたいと思っていたので、今回はそれをテーマにしてみました。 挑戦する内容は、以下の項目を上げてみました。

  • Scala
  • Jade
  • reveal.js

その他、採用したものについて色々と補足してみたいと思います。

祝! lang-scala-1.0.0

vert-x / mod-lang-scala

ここ数日で一気にアップデートされました。次の2.1.0から標準で入るっぽいです。

[lang-scala] mod-lang-scala 1.0.0 is out!

Scalaで Netty ベースのフレームワークというと Finagle が有名ですが、Vert.xもScala Readyとなったことで非同期処理のノウハウが共有されていくといいと思います。

reveal.js

hakimel / reveal.js

htmlをスライドにするプロダクトは様々ありますが、組み合わせて使うならこれが最適だと思います。

特にPDFに出力出来る機能を備えているのは、ありがたいと思います。

ただ、PDFで出力するにはレイアウトを上手く扱う必要があるので、作りながら微調整するといいと思います (作った後からPDFで出力してみたら、残念な結果になってしまったので)。

Scalate

Scalate

reveal.jsに渡すhtmlを生成するのに、Scalaではどの形式なら可能か調べていたところ、テンプレートエンジンとしてScalateが見つかりました。

Scalateは、今回採用したJade以外にMustache、Scaml、SSP、Scueryが利用できます。

Jadeの中でScalaの構文が使えたり、色々と出来るのが面白いと思います。

vertx-gradle-plugin

darylteo / vertx-gradle-plugin

Vert.xプロジェクトを作る際は、vert-x / vertx-gradle-template を使うのが公式で推奨されています。

今回は、非公式ではありますが、Gradleのpluginがあったので試して見ました。

ただ、scalaだけ使いたいのにgroovyのサポートが無いとまともに動かない、modzipにしたものの依存関係のjarが足りない等、まだ未成熟な箇所が見受けられました。

しかし、build.gradleだけでほぼ動作可能な環境を作れるのは、やはりありがたいので今後のアップデートと公式の採用を期待したいと思います。

成果

最終的に出来たスライドはこちら↓

http://grimrose.github.io/shibuya-java-05-5

おわりに

Vert.xの概要等は、@muraken720 さんのスライドを見ていただくのが一番だと思っていたので、紹介させて頂きました。

あと、Vert.x がいいね!(第1回:入門する) がまとまっていて読みやすいので、 Vert.xって何だろと興味を持たれた方は、是非読んでください。

Java 8がリリースされ、個人的にVert.xで期待しているのはNashornなのです。

NashornによってRhino以上のパフォーマンスを得られることが出来れば、あのNode.jsに匹敵するプラットフォームになるのではと考えてます。

もう一つは、Node.JS for the JVMと銘打つ Nodyn です。

この2つが今年のVert.xで一番期待できるコンテンツだと思うので、注目して行きたいと思います。

このエントリーをはてなブックマークに追加