アプレットは、より大きなプログラム (多くの場合、Web ブラウザー) のコンテキスト内で実行するように設計されたソフトウェアの一種で、コア プログラム自体では提供されない豊富なインタラクティブ機能を提供します。Java プログラミング言語で記述されたアプレットは、主にネットワーク コンピューティングで使用されます。アプレットは、マウスのクリックやキーストロークなどのユーザー入力に応答でき、同じ Web ページ上の他のアプレットと対話することもできます。
アプレットの歴史的背景
アプレットの歴史は、Java プログラミング言語が Sun Microsystems によって初めて開発された 1990 年代半ばにまで遡ります。「アプレット」という用語は、インターネット用に設計された新しいプログラミング言語として Java が世界に紹介された 1995 年に初めて使用されました。そのコンセプトは、HTML ページに埋め込み、Web ブラウザ内で実行できる小さなアプリケーション (したがって「アプレット」という用語) を提供することでした。
アプレットの拡張
前述のように、アプレットは HTML ページに統合でき、クライアント側で実行され、Java 仮想マシン (JVM) によって実行される小さな Java プログラムです。アプレットは、JVM をサポートする任意の Web ブラウザーで実行できます。アプレットは、Web ページをより動的で楽しいものにするために使用されます。たとえば、対話型グラフィックスを表示したり、ユーザー入力に基づいて計算を実行したりできます。
アプレットのライフ サイクルは、ブラウザーと JVM によって制御されます。ライフ サイクルには、初期化、開始、停止、破棄の 4 つの段階があります。アプレットは、JVM によって読み込まれ、インスタンス化されたときにライフ サイクルを開始します。その後、初期化され、開始され、Web ページに表示されます。ユーザーがページから移動すると、アプレットは停止され、JVM によって破棄されます。
アプレットの内部動作
アプレットは、プログラムのプラットフォームに依存しない表現である Java バイトコードで構成され、ブラウザにインストールされた JVM 内で実行されます。アプレットを含む Web ページが読み込まれると、ブラウザの Java プラグインがアプレットのバイトコードをダウンロードし、JVM を起動して、JVM 内でアプレットを読み込んで実行します。
アプレットは、ドキュメント オブジェクト モデル (DOM) を通じて Web ページと対話し、HTTP またはその他のインターネット プロトコルを介して、アプレットが読み込まれたサーバーと通信することもできます。ただし、セキュリティ上の理由から、通常はサンドボックス化されており、ローカル ファイルや特定のシステム リソースへのアクセスは制限されています。
アプレットの主な機能
- プラットフォームの独立性: アプレットはプラットフォームに依存しない Java で記述されており、JVM をサポートするブラウザを搭載したあらゆるデバイスで実行できます。
- ネットワーク接続: アプレットはネットワーク経由で通信できるため、ネットワーク化されたアプリケーションの一部となることができます。
- サンドボックスセキュリティ: これらはセキュリティ サンドボックス内で動作し、システム リソースへの不正アクセスを防ぎ、ユーザーのセキュリティを確保します。
- 豊富なユーザーインターフェース: アプレットは複雑なグラフィカル ユーザー インターフェイス (GUI) を作成し、スムーズなアニメーションを生成できるため、インタラクティブなアプリケーションの作成に適しています。
アプレットの種類
アプレットには主に 2 つの種類があります。
-
ローカルアプレット: これらのアプレットは、ダウンロード後にインターネットに接続する必要はありません。ユーザーのブラウザ内で実行され、サーバーに接続することなく機能を実行します。
-
リモートアプレット: これらのアプレットは常時インターネット接続を必要とし、機能を実行するためにサーバーと通信します。
アプレットの使用と関連する問題
アプレットは、ゲーム、計算機、アニメーション、インタラクティブ マップなどのインタラクティブ機能を Web ページに提供するためによく使用されます。また、オンライン投票、電子商取引、リモート デスクトップ アプリケーションなどのより複雑なタスクにも使用できます。
しかし、次のようないくつかの問題により、アプレットの使用は年々減少しています。
- セキュリティ上の問題: アプレットはサンドボックス内で実行されるにもかかわらず、過去には悪意のある目的で使用されたことがあり、多くのユーザーや組織がアプレットを警戒しています。
- パフォーマンス: アプレットはクライアント側で実行されるため、読み込みが遅くなり、システム リソースを大量に消費する可能性があります。
- Javaへの依存: ユーザーはブラウザに Java ランタイム環境 (JRE) をインストールし、適切に構成する必要がありますが、これは技術に詳しくないユーザーにとっては複雑な作業になる可能性があります。
類似用語を持つアプレットの比較
同様の概念を持つアプレットの比較を以下に示します。
学期 | 意味 | 実行 |
---|---|---|
アプレット | HTML ページ内に埋め込まれ、Web ブラウザの JVM によって実行される小さなアプリケーション | クライアント側 |
サーブレット | サーバー上で実行されるJavaプログラム。通常は動的なWebコンテンツを生成するために使用されます。 | サーバ側 |
JavaScript | ブラウザの JavaScript エンジンによって実行される、Web ページ用のスクリプト言語 | クライアント側 |
アプレットに関する将来展望と技術
HTML5、CSS3、JavaScript などの最新の Web テクノロジの台頭により、アプレットの将来は不透明です。これらのテクノロジは、ユーザーが JVM をインストールしたり、Java のセキュリティ問題に対処したりすることなく、同様の機能を提供します。
ただし、Java のフルパワーを必要とする複雑なアプリケーションなど、アプレットが優位に立つ領域はまだあります。さらに、Java Web Start テクノロジにより、フル機能の Java アプリケーションを Web ブラウザから直接起動できるようになり、アプレットのような機能が復活する可能性があります。
アプレットとプロキシサーバー
アプレットとプロキシ サーバーは異なるテクノロジですが、特定の状況では相互に作用することがあります。プロキシ サーバーは、アプレットと通信先のサーバー間の接続を仲介し、キャッシュ、フィルタリング、セキュリティ強化などの利点を提供します。ただし、アプレットはプロキシ サーバーをサポートするように設計する必要があり、ユーザーのブラウザーはプロキシ サーバーを使用するように構成する必要があることに注意してください。
関連リンク
アプレットの詳細については、次のリソースを参照してください。