Java

JavaOne 2011 2日目 ストラテジーキーノート #j1jp

JavaOne2日目アサイチは「ストラテジーキーノート」。
「今手に入る」技術ではなく、Javaの今後のロードマップについて語る場です。

・Juniper Networks
基調講演毎にスポンサー枠が結構あり昨日はIntel、今日はJuniper Networksでした。
Intelは「Javaにずっと投資してきたよ!これからもがんばるよ!」というメッセージがあったけれどもJuniper Networksはアプリケーションの性質や負荷に応じてオンデマンドに、そしてフレキシブルに、さらにプログラマティカルにネットワークを管理できるよというソリューションの紹介。
少しはJavaに絡めて欲しかったなーというのが本音。

・Javaのロードマップ
まずJava7がリリースされたことをおさらい。そしてWrite once, Run anywhereというJavaのポータビリティは重要だよね!という話と共にJava7 for Mac OS Xのデベロッパプレビューリリースを発表。

・TwitterがJCP/OpenJDKに参加
Twitterの"Director of Runtime Systems"、Rob Bensonが登壇。
Java, Scala, Closureなどマルチ言語で開発し、単一実行環境にデプロイする方針で今後TwitterはJavaにコミットしていくよ、という話。
そしてJCPとOpenJDKに参加することをアナウンスしました。

Twitterのブログエントリはこちら↓
Twitter, Open Source and the JVM | Twitter Developers
Twitterの日本デベロッパ向けアカウント、@twj_dev でもアナウンスしています

・Java8、それ以降について
これからも相互互換性を重要視していく。2013年のリリースを予定(これまでは2012年予定だった)
他には多言語用JVM(言語側が勝手に.classファイルを吐くだけでVM側で何かするわけじゃないと思う)、クラウド対応、Ease of Use(セルフチューニングJVM)、最適化、どこでも(エンベデッドでも)動くなどを強調。ここらへんは特に新しいメッセージではない・・・

・JavaFX
昨日Windows版のGAが発表されたJavaFX2.0。Mac OS X版のGAは2012前期を予定。デベロッパプレビューは今日から提供開始!

そしてJavaFXもWrite once, Run anywhereであることを見せるためのデモとしてWindowsのタブレットが登場。サメガメ的なゲームが動いてる。
続いてAndroidのタブレット、GalaxyTabでも同じゲームが動くことをデモ。
あれ?Dalvik上でJavaFXが動く?それともOracle製のAndroid用JVM?・・・ちょっと謎。
最後にタブレットデバイスは他にもあるよね、とiPad2が登場!
なんとJavaFXアプリがiPad(=iOS)でも動く!!!!
そう、iOS用のJVMを開発しているそうです。JREをアプリに入れてしまえばリリースできる(はず)とか。ここはかなり盛り上がりました(個人的なバイアスが入ってるかも)。
ただ、デモをしただけでロードマップなどの提示は一切なし。デベロッパの期待感をあおることでアップルに対してけん制をかけたような形かな?

・JavaME
JavaMEとJavaSEはリリース時期にずれがあったけれどもこれから同期していく。JavaFXも使えるようにする。
CLDC7(2012中)でJava7相当になる予定。

・JavaEE
今クラウドが流行っているけれどもどれもベンダプロプライエタリなプラットフォーム。JavaEE7ではこれを標準化する。
(各プラットフォーム思想が違い過ぎるので最大公約数的な残念な仕様にならないか心配)

・Project Avatar
HTML5ベースのリッチアプリケーションが人気だけれどもプログラマにとって必ずしも最適解ではない。
アプリのスキン部分はHTML5で、ロジック部分はJavaで書くというハイブリッドアプリケーションモデル。
(JavaFXがこけても良いように2発弾を撃っているように感じた)
今度はiPhoneでHTML5+Javaのアプリを紹介。やはりJVMはアプリに埋め込まれていると説明。

所感:
個人的にはMac OS X用のJava7/FX2.0のプレビューリリース、それからGAリリースのロードマップ提示があっただけで満足。
さらにiOSのJVMとかは妄想していたものが半ば現実味を帯びてきて大興奮!
JavaEEはJ2EE1.3くらいでもはや枯れていると考えている古い人間です。クラウドAPIの共通化は発想が大胆過ぎてとりまとめに時間がかかりそうだし、実現するころには陳腐化していそうなので正直あまり興味なし。
クラウドプラットフォームにデプロイしてしまうとロックインしてしまうのは大問題だと思うけれどもすでに一部の問題はjcloudsで解決できるのであえてJavaEEで標準化されるのを待つ必要はないかな???

JavaFXはJavaMEでもデスクトップでもモバイルデバイスでも共通のAPIで動くなら素敵。Write once, Run anywhereの実績があるJavaはやはりサーバサイドだけでなくデスクトップ・モバイルアプリにも向いていると思います。

JavaOne 2011 ストラテジックキーノート #j1jp – Togetter