検索
連載

「Javaは遅い」から「Javaは楽しい」に至る歴史小山博史のJavaを楽しむ(12)(1/3 ページ)

教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

「Java SE 6u10」そして、「JavaFX 1.0」という事件

 12月4日、サン・マイクロシステムズはJavaの最新デスクトップ・RIA技術JavaFXの正式版SDKをリリースしました(JavaFX SDK 1.0正式版をリリース、サン)。

 JavaFXには、これまでのJavaデスクトップ技術のさまざまな要素が集約されているといってよいでしょう。最近リリースされたJava SE 6 Update 10(以下、Java SE 6u10)の機能も盛り込まれています。「HotJava」(後述)が登場した10年程前から「デスクトップアプリケーションの在り方が変わる」といわれていましたが、当時夢のように思えた世界が現実のものとなりそうです。

 今回は、これからのデスクトップアプリケーションの在り方について、Webブラウザアプリケーションとして登場したJavaアプレットの話から、最近リリースされたJava SE 6u10の話までしながら、歴史を振り返りつつ考えてみましょう。

これは楽しい! ドラッガブルアプレット

 まずは、Java SE 6u10の楽しい新機能「ドラッガブルアプレット」を実際に体験してみましょう。ドラッガブル(Webブラウザ外へドラッグできる)アプレットはJavaFX 1.0の機能にも組み込まれています。サンプルを試す前に、「Java SE Downloads」からJava SE 6u10以降(早くも、Java SE 6u11も出ています)のJREをインストールしておいてください。対応Webブラウザは、Internet Explorer(以下、IE) 6/7Firefox 3のようですが、本稿ではIE 7を使います。

 準備ができたら、こちらの「SimpleJApplet.html」をIE 7で開くと、セキュリティ関係の警告がいくつか出るかもしれませんが、Javaアプレットが動作するように答えていくと、Javaアプレットが動作します。Javaアプレットの上で[Alt]キーを押しながらマウスでドラッグすると、Javaアプレットが移動できて、デスクトップ上のウィジェットガジェットのようになります。

図1 ドラッガブルアプレットのサンプル
図1 ドラッガブルアプレットのサンプル

 IE 7を終了させても、Javaアプレットは表示され続け、ショートカットの作成を要求してきます。了解すると、デスクトップにショートカットが作成されます。その後、Javaアプレットの右上隅の「X」をクリックしてJavaアプレットを終了すると、画面が消えます。次に、デスクトップのショートカットをクリックすると、SimpleJApplet.htmlで開いたJavaアプレットがデスクトップ上に表示されます。

 Javaアプレットは6.10に至り、こんな楽しい機能を実装したばかりではなく、起動速度も格段に速くなったのが実感できたと思います。ここに至るまでには、実にさまざまな出来事がありました。その歴史を振り返ってみましょう。最後に、ドラッガブルアプレットの作り方も簡単に紹介します。

Webブラウザアプリの出現に興奮した時代    

 1995年5月23日の「SunWorldカンファレンス」でJavaがセンセーショナルに登場した当時は「Webブラウザ」というソフトウェアが世の中に認知され始めたときでした。HTMLにより、世界中のテキストと画像ファイルがリンクされて、クモの巣のように張り巡らされたドキュメントがインターネット上に存在するようになりました。コマンドベースでテキストを検索していたインターネットの世界をがらっと変えたのです。

昔はJava製Webブラウザがあった

 そんな中、HotJavaというJavaで実装されたWebブラウザが発表されたので、そこで動作するJavaアプレットが注目を浴びることになったのです。Javaを使えば、Webブラウザ上で動作するGUIアプリケーションを開発できるということで、ちまたのJava入門書ではJavaアプレットを題材としたものが多かった記憶があります。

図3 HotJava 1.1.5の使用例
図3 HotJava 1.1.5の使用例

Javaアプレットが大人気

 もちろん、当時から「JavaScript」というWebブラウザで動作するプログラミング言語があったので、Webブラウザでプログラムが動作できるということは、それほど驚くことではありませんでした。しかし、Javaには次のようなJavaScriptと違った有利な点がありました。

  • Webブラウザがなくても動作する
  • JavaScriptとは比較にならないほど充実したAPIが提供されている
  • デスクトップアプリケーションの開発ができる
  • ネットワークアプリケーションの開発ができる
  • JavaVMがインストールされた環境であれば動作する(「Write Once, Run Anywhere」)

 Javaアプレットにはいくつか魅力がありますが、筆者が最も魅力だと感じていたのは、アプリケーションをローカルマシンへインストールしなくても実行できるという点でした。コンピュータの初心者にとっては、環境が変わってしまうアプリケーションのインストールというのは、なかなかできない難しい作業ですから、それをしなくても新しいアプリケーションを実行できるというのは、素晴らしいことだったからです。

 筆者は、いまだに、初めてコンピュータへアプリケーションをインストールしたときのことを覚えています。そのときは、インストールマニュアルを片手に、おそるおそる作業をしていました。この作業でコンピュータが動作しなくなったらどうしようかと心配になってしまったからです。家庭向けコンピュータゲーム機のようにカセットを差したら使えるようになっていたら、どんなに簡単だろうと思ったものです。

 Javaアプレットであれば、あるURLへアクセスしさえすれば、そこですぐに使いたいアプリケーションが動かせます。ですから、ものすごく魅力的でした。しかも、この方法だと、サーバ側でJavaアプレットのバージョンアップをすれば、自然とWebブラウザへ配布されるJavaアプレットのバージョンもアップします。つまり、ユーザーは、常に最新バージョンのアプリケーションを利用できるわけです。

 筆者と同様に、Javaアプレットに魅力を感じる人が多かったからでしょうか、当時はJavaの入門書でもJavaアプレットは必ずといってよいほどよく紹介されていました。また、デスクトップアプリケーションにもなるJavaアプレットの作成方法などが紹介されたりしていて、Javaアプリケーションの可能性を感じたものでした。

Javaアプレットの問題点

 しかし、Javaアプレットは話題にはなりましたが、最終的には主流となるほど普及しませんでした。ワープロや表計算ソフトといったオフィスアプリケーションと同等の機能を持ったアプリケーションをJavaアプレットとして実装して実行するには、いくつかの課題があったからです。

  • ダウンロードするアプリケーションのファイルサイズが大きいと起動に時間がかかる
  • JavaVMの起動に時間がかかる
  • 当時はJavaVMによるJavaアプリケーションの実行が遅かった
  • セキュリティ上の問題が発生しないように、ネットワークからダウンロードしたプログラムであるJavaアプレットは、デフォルトの設定ではローカルマシンへ自由にアクセスできなくなっていた
  • 安全なサンドボックス内でしか動作しない代わりに、ファイルの保存などユーザーが使いたい機能を自由に使えなかった

 この結果、Webブラウザ上で実行するアプリケーションとしては、Webブラウザの機能を補てんするものや、Webブラウザの表現力を高める機能を持つものの方が注目されて利用されるようになったのです。つまり、JavaScriptやFlashの方が主流となり、Javaアプレットはいつの間にか見掛けなくなりました。

当時のJavaVMは遅かった

 当時、IEへ搭載されていたマイクロソフトのJavaVMは起動が速かったのですが、Netscape Navigatorに搭載されていたJavaVMやサン・マイクロシステムズから提供されていたJREのJavaVMは起動が遅かったのを覚えています。Netscape Navigator 4辺りまでは、起動時にJavaVMを起動した状態で、Webブラウザを開始する起動オプションがあったのですが、いつからか、そのオプションもなくなってしまったと記憶しています。

 マイクロソフトとサン・マイクロシステムズがJavaの互換性について争った結果、マイクロソフトのJavaVMがIEへ搭載されなくなったというのも影響があったかもしれません。いろいろな要因があって、いずれにせよ、Javaアプレットの注目度は下がっていきました。

 次ページでは、サーブレットやEclipseが登場します。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る