レポート

今年のJavaは要注目トピックがいっぱい! JavaOne Tokyo 2012 2日目 “テクニカルキーノート”

この記事を読むのに必要な時間:およそ 3 分

4月5日,7年ぶりのJavaOne 2日目です。初日のJava Strategy Keynoteに続いて,今朝は⁠Java Technical Keynote⁠と題した基調講演が行われました。場所は前日同様 六本木アカデミーヒルズ49です。

昨日に続いてMCはJavaOne Tokyo 2012実行プロジェクトリーダーの伊藤敬氏。残りの時間を目いっぱい楽しんでほしいと挨拶。

昨日に続いてMCはJavaOne Tokyo 2012実行プロジェクトリーダーの伊藤敬氏。残りの時間を目いっぱい楽しんでほしいと挨拶。

コーディングの簡略化が進むJava 7~Java 8

テクニカルキーノートは,初日のキーノートの内容を承け,より技術的に掘り下げたものです。伊藤氏の紹介を受け最初に登壇したのは,Java Language & VMのSpecification Leadを務めるAlex Buckley氏。同氏はおもに言語仕様面での最近のJavaの進化について語りました。

「プログラマのコーディングの手間を大幅に改善する最新のJavaをぜひ使って欲しい」と語るAlex Buckley氏

「プログラマのコーディングの手間を大幅に改善する最新のJavaをぜひ使って欲しい」と語るAlex Buckley氏

2011年7月に登場したJava 7は,当初盛り込まれる予定だったいくつかのプロジェクトを後回しにして,スケジュール優先でリリースされた経緯があります。⁠Java 6がリリースされたのが2006年,当時のJava 7リリース計画(2012年)では遅すぎるという意見が出ました」⁠Buckley氏)⁠

そこで,開発に時間がかかるものを分離した「プランB」が企画され,話し合いの末これがJava 7としてリリースされることになったのです。

当初のJava 7(2012年中盤リリース予定だった)のフィーチャ

当初のJava 7(2012年中盤リリース予定だった)のフィーチャ

こうしてリリースされたJava 7の目玉としてまずBuckley氏が挙げたのが「Project Coin」と呼ばれるJavaの言語仕様の変更です。コードを書きやすくするいくつかの文法の簡略化が含まれます。これらのうち,複数の例外を一度に記述できる"Multicatch"や,StringをSwitchの条件判定に使えるようになったこと,例外処理後にclose処理が自動的に行われるスーパータイプのClosableインタフェースなどが紹介されました。

<>(Diamond)は,左辺の変数定義を右辺に自動的にコピーするようコンパイラが解釈する

画像

一方,後のバージョン(Java 8)に回った大きなフィーチャはご存じ「Project Lambda」「Project Jigsaw」です。これらによりJavaに「革新的な進化がもたらされる」とBuckley氏は言います。

Project Lambdaとは要するに,C#や最近のスクリプト言語で実装の進む「ラムダ記法」をJavaでも使えるようにしようというものです。これにより,変数型や関数の記述などが大幅に簡略化されます。

何千人もの学生の中から得点の最も高い生徒を選び出す例,非常に簡単に記述できる

何千人もの学生の中から得点の最も高い生徒を選び出す例,非常に簡単に記述できる

「Project Jigsaw」は,大規模なプログラムのための機能です。大規模なプログラムでは,依存するパッケージ(多くはjarファイル)が非常に多くかつ相互依存し合っているため,開発者はこれらの管理に大きな労力を使います。Project Jigsawではこうしたパッケージをモジュール化し,自動的にロードできるしくみを提供します。クラスパスのアグリゲータも定義できるほか,jarファイルのクラスをrpmやdeb形式のファイルとしてモジュール化することもできるようになります。

このほかJava 8ではJavaScriptも統合される(Project Nashorn)とのことです。さらに次のバージョンとなるJava 9,そしてJava 8の機能の実装が進むOpenJDKの紹介でBuckley氏は話を結びました。

Java 9で予定されている新機能

Java 9で予定されている新機能

最もリッチなUIをどんなプラットフォームにも提供できる-JavaFX 2.0

次に登壇したのは,Java Chief Client ArchitectのRichard Bair氏です。JavaFXの最新事情について語りました。

Richard Bair氏

Richard Bair氏

2011年にリリースされたJavaFX 2.0は,昨今クライアントとして無視できない実装数となってきたスマートフォンやフィーチャフォン,タブレットにもシングルツールセットで対応できる,真のクロスプラットフォーム環境となっています。

Java環境に完全に組み込まれたことで,Javaプログラマは従来の知識でプログラミングできるほか,来るべきProject LambdaやProject Jigsawの機能も利用できるようになるとのことです。

こうした概要の説明の後,JavaFX UI controls teamのJonathan Giles氏によるデモが行われました。

JavaFXのサンプルアプリとして付属しているJavaFX Ensembleは,WebKitでできており,ソースとドキュメントを参照しながらサンプルを確認できるようになっています。NetBeansなどの開発環境からソースを変更して,その効果を見ることもできます。

JavaFX Ensembleのデモ

JavaFX Ensembleのデモ

架空の車ディーラサイトのデモ。SVGコンテンツをFX内に取り込んでいるほか,デザインをCSSで表現

架空の車ディーラサイトのデモ。SVGコンテンツをFX内に取り込んでいるほか,デザインをCSSで表現

このほか,H.264のHDビデオや,Mac OS,Linuxのサポート予定などが紹介されました。

著者プロフィール

小坂浩史

gihyo.jp編集部 所属。最近では電子書籍の制作にも関わる。

コメント

コメントの記入