JavaOneの見どころはもちろん基調講演だけではない。オラクル内外の一流の技術者たちによる500を超えるテクニカルセッションは参加者達を圧倒させる。
すでにセッションのスライドや音声はWebサイトよりダウンロードできる。セッションはカテゴリやキーワードで絞り込み検索することもできるので、興味のあるセッションを探してみてはいかがだろうか。音声はすべて英語だが、スライドと併せて確認すれば理解は難しくないだろう。
ここではエンタープライズ、デスクトップ、モバイルに分けてハイライトを説明したい。
エンタープライズ、基幹システムの領域でJavaは、すでに広範に利用されている。2000年を前後してさまざまなフレームワークやDIコンテナが乱立したのち、それぞれの良いところを取り入れ「EoD(Ease of Development)」を標榜するJava EE 5でサーバサイドのプログラミングモデルは一端の収束を見た。
Java EEの最新バージョンであるJava EE 6はリリースから約3年を経て、対応するアプリケーションサーバも増え、もはや既存技術となっている。しかし、これまでのJava EEはオンプレミス型の運用を前提としており、現在のトレンドであるクラウドプラットフォーム上の運用やリアルタイムなWeb技術にはほとんど対応していないのが実情だ。
そこでBtoCのWebサービス分野では標準にとらわれずNoSQL、WebSocket、Ajaxに対応したオープンソースのフレームワークやベンダロックイン傾向のあるプラットフォームを積極的に採用し始めている。
巨大なマーケットとなりつつあるこの分野をオラクルが見過ごすはずはなく、テクニカルセッションではJava EE 7で対応予定のWebSocketやJSON関連セッションが充実しており好評を博していた。
また時期は未定なものの、増え続けるWebのトラフィックに紐付くデータを高速、安価に、そしてスケールアウトしやすい方法で保管できるNoSQLへのアクセス方法を標準化する試みも注目を集めていた。
Java EE 7は来年初頭のリリースを目指している。来年のJavaOneでは採用事例も報告され始め、保守的な企業でも2014年くらいにはWebSocketやNoSQLの採用が始まるのではないだろうか。
飽和するサーバサイド市場の先にオラクルが見据えているのはデスクトップ市場だ。特に、新しいGUIツールキットとしてJava 7にもバンドルされるようになったJavaFX関連のセッションは非常に多く、また開発者の関心を集めていた。プログラミングレスでJavaFXの美しいUIをデザインできるScene BuilderはIDEに依存しない独立ツールで、完成度が高い。
また、JavaFXはCSSでルック&フィールを定義できるため「デザイナとの協業できるデスクトップUIキット」としての潜在的可能性は高そうだ。今後、レガシーAPIの位置付けになるSwingでは、決定版となるオーサリングツールがなく、専門性の高いスキルがないと使いこなせなかったことからオラクルは多くを学んだのだろう。
現在はWebアプリケーションが全盛だが、モバイルアプリケーションに端を発してデスクトップ向けのアプリケーションマーケットであるApp StoreやWindowsストアが盛り上がりを見せている。JITコンパイラの未熟な段階でAppletをリリースして不評を買ったJavaはサーバサイドに注力して「Write once, run anywhere」の実績を積んだ。デスクトップアプリケーション向けにもプラットフォームに依存しないプログラミング言語として今後受け入れられる余地は大いにあるだろう。
また、筆者が注目しているのはオラクルがMacへのサポートにも強くコミットしていることだ。アップルとの強いパートナーシップによりオラクル自ら最新のJavaを提供するようになったばかりでなく、Javaランタイムへの依存から難しいとされてきたApp StoreへのJavaFXアプリケーションの提出が可能であることも明らかにされた。
実際にJavaFXのUIデモである「Ensemble」がJavaOne直前に公開されており、Mac App Storeより無料でダウンロードできるようになっている。残念ながら、iOSデバイスをはじめとして流行のRetinaなどの高解像度デバイスには、まだJavaFXは対応しておらず、ロードマップも定まってないとのことだ。
現在サーバサイド、デスクトップ以上に開発者の注目を集めているのがモバイルプラットフォームだろう。iOS、Androidを搭載したスマートフォン、タブレットデバイスは毎日のようにニュースを賑わしておりその市場規模は膨らむばかりだ。さらにWindows 8と歩調を合わせてブラッシュアップされたWindows Phoneも加われば一層モバイルプラットフォームは盛り上がるだろう。
そしてJavaが得意とするエンタープライズ、サーバサイドとの連携というニーズも今後増していくだろう。しかしJavaプログラマが容易に取り組めるAndroidプラットフォームは互換性に一部問題を抱えるだけではなくオラクルとの訴訟沙汰にもなっており、行き先が不透明だ。
また「Write once, run anywhere」に慣れたJava開発者にとってiOSデバイス向けのためだけにObjective-Cに取り組むのはやや苦しい選択だ。TitaniumやPhoneGapといった別のアプローチでマルチプラットフォームを実現するソリューションもあるがベンダロックインという別の危険性をはらんでいる。
フィーチャーフォンでは、J2MEで業界標準となったJavaがスマートフォンでも再度モバイルアプリケーションプラットロームの標準となるのがJava開発者の期待するシナリオだろう。しかし、残念なことにJavaFXも、去年iPadでも動作することをデモして見せたProject AvatarもiOSやAndroidに向けての発表・テクニカルセッションはなく、ロードマップの提示もなかった。
水面下で準備を進めているだろうことは想像に難くないが、技術的というよりも政治的な問題の解決が先決なのだろうか、まずはデスクトップでJavaFXを普及させることに重心を置いているようだ。
そこで筆者が注目したのは、Titanium、PhoneGapに続く「第三のマルチプラットフォームフレームワーク」となり得る「Codename One」のセッションだ。
「Codename One」は、そのまま社名でもあるCodename One社のオープンソースプロジェクトで、Javaで書いたコードがAndroidやiOSデバイスでスムースに動くネイティブコードに変換するコンパイラと各デバイス向けのUIキットが一体となったソリューションだ。
Javaらしい「型安全」かつ堅牢なコードでモバイルアプリケーションを書きたい開発者には今後有力な選択肢となるかもしれない。
JavaOne前にProject JigsawはJava 9へ、マルチテナンシーはJava EE 8へと先送りされるという残念なニュースがあったこともあり、代わりに何かしら胸を躍らせる新技術の発表があるのではないかと期待していた人も多い。しかし、蓋を開けてみればJavaエコシステムの堅実な成長、スムーズに進んでいるJava 7への移行、そしてJavaFXの強力なプッシュが今年のJavaOneのメイントピックであった。参加者が口をそろえて言うのが「今年はサプライズのないJavaOne」だ。
順調に行けば、2013年夏までにはJava EE 7がリリースされているはずだ。JavaOne 2013では、Java EE 7への移行事例にとどまらず、来年後半のリリースを予定しているJava 8への移行ノウハウ、JavaFXのモバイルプラットフォームへの展開、Project Avatarの具体的なロードマップの発表、そしてまだ誰も見たことがないような新しい技術の発表などに期待したい。
Copyright © ITmedia, Inc. All Rights Reserved.