読者です 読者をやめる 読者になる 読者になる

ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

"鹿駆動勉強会" に参加しました

勉強会 Java JavaScript

鹿駆動勉強会」 という勉強会に参加してきました。 鹿駆動ってなんやねん、という感じですが、奈良公園の鹿によって駆動される勉強会なのです。

会場へ

f:id:nobuoka:20120429130142j:plain
鹿かわいいなぁと思いながら会場へ。

f:id:nobuoka:20120429143108j:plain
会場はなんと 新公会堂の能楽ホール です。

学んだこと

今回の勉強会は Java 関係の LT が多くて、Java 周辺の最近の話を聞くことができたのが良かったです。 Java 以外の話も面白いものが多くて良い刺激を受けました。 気になった内容などを簡単にまとめておきます。

発表内容を軽く調べながらまとめたものなので間違いがあるかもしれません。 あと発表者名が間違っていたり足りなかったりするかもしれません。 ご指摘頂けると助かります。

JavaFX - 我々が愛した Swing は死んだ!! なぜだ!!

いくつかの講演で Swing が殺されました。 Swing の代わりに JavaFX がある、と。

JavaFX といえば JavaFX Script で書くもので、なかなか普及しなかったという印象があります (少なくとも私の中では) が、それは Java FX 1 の時代の話。 2010 年の JavaOne において、JavaFX は、Java 言語だけでなく JavaScriptScala、Groovy のような JVM (Java 仮想マシン) 上で動く言語からも利用できる RIA (Rich Internet Application) 用の Java API として生まれ変わる事になり、2011 年には JavaFX 2.0 がリリースされました (参考 : 生まれ変わった JavaFX 2.0)。 JavaFX 2 には以下のような特徴があります。

  • JavaFX Script は廃止され、Java から API を叩く形になっている
    • Groovy や Scala などの JVM 上で動く言語からも使える
  • ロジックは Java で、UI 構造設計は FXML で、UI 表示デザインは CSS
  • WebKit ベースの組み込み web ブラウザが導入された
  • メディア再生エンジン
  • などなど

とりあえず FXML で UI 構造を書けるようになったのは良いですね。 現時点の最新版である Java FX 2.2 だと Windows と Mac OS のみのサポートで Linux は Developer Preview っていう段階みたいですが、これから使えるようになっていきそうですので、今後 JavaGUI アプリケーションを書くときには JavaFX を使っていくと良さそうですね。 JDK 8 では JavaFX が組み込まれる予定のようですし。

今のところ JavaFX の開発をするなら NetBeans + Scene Builder という組み合わせがオススメとの事。

ちなみに GUI 描画用のスレッド周りは Swing と似た感じになっていて、描画やイベントを処理するための JavaFX Application Thread が 1 つあって、他の処理をするスレッドとやりとりしながら処理を進める、という感じの模様。 あと、JavaFX には組み込み web ブラウザがあるから、それを使えば JavaScript のテストもできるはずだよね、という話も。

ここら辺の話は主に以下の方々によるものです。

JVM の invokedynamic の話

JDK 7 の新機能として JVM における動的型付け言語のサポートがあります。 このサポートの重要な点は、JVM に invokedynamic ニーモニックが追加されたことです。

これまで、JVM 上でのメソッド呼び出しは静的型付け言語を想定した命令しか存在せず、動的型付け言語のメソッド呼び出しは最適化された状態とはいえない形で実装されていました。 動的型付け言語により適した形でメソッド呼び出しを行えるように追加された命令が invokedynamic です。 詳細は以下。

たんご238さん (@tan_go238) の発表。

奈良時代から伝わる技と術

こしばさん (id:bash0C7 / @bash0C7) の発表。 上記発言が面白かったので大事なところを聞き漏らしてしまった気がするけど、確か核心を見定めることが重要、って話だった気がします。

JavaScript で WebRTC

WebRTC なる規格で JavaScript からも WebCam が使える、という話。 デモでは、WebCam でとった画像をブラウザ上に表示して、さらに顔認識により顔の部分に能面画像をかぶらせる、というものを見せてもらいました。 WebRTC なんてのもあるのですね。

Kazuyuki Honda さん (id:scalar / @hakobera) の発表。

JavaScript のテンプレートエンジン
  • jQuery Templates があるけど beta 版のまま開発終了ぽい
  • 後継っぽいのは JsRender

おださん (id:odashinsuke / @shinsukeoda) の発表。

などなど

ほかにもいろいろ面白い話がありましたが多いので特に気になったものを挙げてみました。 後で勉強できたらいいな...。 勉強会中の TL は以下。

ありがとうございました

企画のはくらいさんはじめとする運営の皆様、参加者の皆様、ありがとうございました。