JavaはクラウドやHTML5、
iOS/Androidも取り込む?


JavaOne 2011まとめレポート

Twitter Inc.
山本裕介
2011/10/14


Project Avatar − HTML5サポートによる全方位戦略

 JavaFXとJava MEの融合でデスクトップアプリケーションもモバイルアプリケーションも同じAPIで開発できるようになるのは開発者にとってうれしいニュースです。しかし現在Webアプリケーションの基盤技術として最もホットなのは「HTML5」ではないでしょうか。

 HTML5は、FlashやSilverlightなどの特定のベンダ固有の技術に頼らずWebブラウザ上で動くアプリケーションにリッチなUIを実装できるのが魅力的です。ただし、アプリケーションロジックはJavaScriptで実装することになり、大規模なアプリケーション開発やエンタープライズアプリケーションとの連携という面では必ずしも優れているとはいえません。

 そこでオラクルは、「Project Avatar」と呼ばれるHTML5とJavaのハイブリッドアプリケーション技術が研究中であることに触れました。技術の詳細は明らかにされませんでしたが、アプリケーションのUIにHTML5を、アプリケーションのロジック部分にJavaを使うマルチプラットフォーム対応の環境のようです。


Project Avatarの概要

 UIのリッチなアプリケーションをマルチプラットフォーム対応で実績のあるJavaで実現するという点で目標はJavaFXと似ていますが、HTML5を重心に置くことでRIAプラットフォームやHTML5に慣れたデザイナや非Java開発者に対してもフレンドリーな環境を用意するという戦略のようです。

 デモでは、JavaFXと同じくiPadやAndroidタブレットで同じアプリケーションが動作する様子をアピールしていました。

コミュニティ − TwitterがOpenJDK/JCPに参加!

 Javaはサンという1社が独占して進めてきた言語/仮想マシン規格ではなくコミュニティ(JCP = Java Community Process)が主体となって民主主義的に仕様を策定してきた歴史があります。

 JCPには、主にJavaに強くコミットしている企業が参加しており、今回新たにTwitterが加盟することが発表されました。世界的に人気を誇るサービスを開発・運用する同社は大規模にスケールするシステム構築ノウハウを備えており、またサービスの実装言語をRubyから「JVM」へとシフトしていることを以前から公表しています。

JCP、OpenJDKに加盟するTwitter

 Javaではなく「JVM」なのは同社が「Scala」「Clojure」などJVMで動作するが 「Java」ではない言語も多く採用しているからです。コンパイラ型言語でありながらバイトコードと呼ばれる中間コードを解釈する形でマルチプラットフォーム動作を実現しているJVMは近年Javaに取って代わる、またはJavaを補完する別の言語とともに使うのがトレンドになってきています。

 この方向性はサンやオラクルが主導してきたものではありませんが、例えば今回のJavaOneではScalaを扱うセッションが39もあり、コミュニティが主導となってJVM上でマルチ言語を扱う機運が非常に高まってきていることを裏付けています。

 またJava SE 6までサンの「HotSpot VM」は実装は基本的にクローズドに行われていました。完全オープンソースのJVM実装を目指した「Apache Harmony」といったプロジェクトもありますが、サン/オラクルの協力が得られず正式なJava互換環境としては認証されていません(AndroidのDalvik VMはHarmonyプロジェクトがベースになっています)。

 しかし、Open SolarisやGlassFishなど、オープンソースへの取り組みを強化したサンは、HotSpot VMもオープンソース化を決定し「OpenJDK」プロジェクトを発足しました。そしてレッドハットの強い支援を受けてOpenJDKベースのJava SE 6がオラクルのVMとは別にリリースされていることに加え、Java SE 7は最初からOpenJDKがベースとなっています。

 これまでは、HotSpot VMやIBM JDK、JRockitなどのクローズドソースのVMが主流でしたが、IBMもJRockitチームもOpenJDKプロジェクトに賛同しています。またOpenJDKを活用しているというTwitterもOpenJDKプロジェクトへの加盟を果たしたことが発表されました。

 また、やはりサン/オラクルによりクローズドに開発が行われてきたJavaFXもオープンソース化されることが発表されました。今回のJavaOneでは、オラクルが上手いさじ加減で支配力を弱めながらJavaをオープンでコミュニティ主体のプラットフォームへとシフトしているという印象を受けました。


JavaOne Tokyo 2012はどうなる?

 去年のJavaOne 2010はJavaFX 2.0の戦略以外、これといって大きな発表はなく、「オラクルによるサンの買収に伴い、Javaプラットフォームが失速しているのではないか」という懸念が感じられました。しかし、今年はJava SE 7が計画通りリリースされたというニュースとともに、矢継ぎ早に新しい製品や戦略が発表されたことで、Javaがこれからも進化していくプラットフォームであることを確認できました。

 また、日本ではすでに告知されていますが、JavaOneが来年東京で開催されることが、会場であらためてアナウンスされました。サンフランシスコで、世界で、そして日本で盛り上がるJavaには、これからも期待できそうです。

2012年4月4〜6日にJavaOne Tokyoを開催予定

関連つぶやきまとめ

関連リンク


オラクル買収後のJava 7と8、JavaFXはどうなるのか
JJUG Cross Community Conference 2011 Spring レポート Java SE/EEの今後やJRockitとHotSpotの統合など最新情報をお伝えする。そして今後のJavaOneは?
Java Solution」フォーラム 2011/5/30
あなたの知らないJDKの便利ツールたち
安藤幸央のランダウン(43)
 最近のJDKに含まれている開発やデバッグに便利なツールを、プロファイリングや情報取得、監視、配備、スクリプティングの5種類に分けて紹介
Java Solution」フォーラム 2008/11/13
開発者が知っておくべきJavaと仮想マシンの歴史
安藤幸央のランダウン(42)
 JavaとVMが生まれた背景や名前の由来、さまざまなJDK、マイクロソフトやAndroid、iPhoneとの関係、Java VMで動くスクリプト言語など
Java Solution」フォーラム 2008/9/4
「Javaは遅い」から「Javaは楽しい」に至る歴史
小山博史のJavaを楽しむ(12) 
最新のJava実行環境は起動が速いドラッガブルアプレットなど楽しい機能が満載です。ここまで至るには、いろいろな出来事がありました……
Java Solution」フォーラム 2008/12/15
J2SE 5.0「Tiger」で何が変わるか?
J2EE Watch (6) 
Javaの登場以来もっとも大胆な言語仕様の変更が行われたJ2SE5.0。その仕様の変更点とメリットについて整理してみよう
Java Solution」フォーラム 2004/10/16
/fjava/index/index_eclipsejava.html 【改訂版】Eclipseではじめるプログラミング
これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります
Java Solution」フォーラム

1-2-3

Index
JavaOne 2011まとめレポート
JavaはクラウドやHTML5、iOS/Androidも取り込む?
  Page1
JavaOne 2011まとめレポート
Java SE − 7リリース、8は2013年、9はどうなる
  Page2
Java EE − 6の普及とマルチクラウドへの歩み
JavaFX − 次世代のRIAプラットフォームとなれるか?
Java ME − JavaFXと融合しAndroid/iOSに対応!?
Page3
Project Avatar − HTML5サポートによる全方位戦略
コミュニティ − TwitterがOpenJDK/JCPに参加!
JavaOne Tokyo 2012はどうなる?

ご意見、ご感想はJava Solution 会議室へどうぞ

Java Solution全記事一覧


Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間