Javaアプレット

Javaアプレット（Java Applet）は、ネットワークを通してWebブラウザに読み込まれ実行されるJavaのアプリケーションの一形態。Java 10まではJava Runtime Environmentに搭載されていて、Java 9より非推奨になり、Java 11で廃止。
概要.
最初の実装は1995年に公開されたHotJavaへのもので、その後1996年にNetscape Navigatorに搭載されたことで普及した。単にアプレットとも言う。基本的にデスクトップ版Javaの全機能を持つが、Webページの一部として自動的に読み込まれて動作するため、セキュリティー上の観点から一般のアプリケーションプログラムと比べさまざまな制限（サンドボックス）が課せられている。ただし、このセキュリティー上の制限は、ユーザーの許諾により解除する事もできる。
Javaアプレットを実行するにはWebブラウザがをサポートしていることが必要である。Google Chromeはバージョン42(2015年4月)でNPAPIが標準状態で無効になりバージョン45(2015年9月)以降でNPAPIをサポートしなくなった。Mozilla Firefoxはバージョン52(2017年3月)以降でFlash Player以外のすべてのNPAPIプラグインのサポートを打ち切った。オラクル社は2017年9月22日にリリースされたJava 9でJavaアプレットを非推奨にし、Java 11では廃止することを2016年1月27日に発表した。JavaアプレットだけでなくFlashやSilverlightといった類似技術も多数のWebブラウザがサポート廃止予定で今後はHTML5とJavaScriptなどに移行する流れである。
歴史.
Webの普及初期に、インタラクティブ性を高められる技術の一つとして注目を浴び、当時のWeb普及に寄与した。しかし、当時Internet Explorerとシェアを二分していたNetscape 4.xにおいて当時まだできたばかりのJITコンパイルに時間がかかった等の理由により、Javaアプレットをロードすると数十秒から数分の間操作を受け付けなくなるという現象が起こり、この現象が影響してJavaアプレットを利用したサイトが敬遠されるようになってしまった。また、当初は以下のような技術的な問題もあり、ShockwaveやFlashの台頭もあって、ウェブ上でインタラクティブ性を実現する用途には、広く使われているとは言えない状況であった。
これらは主にJavaアプレットが登場したときまだ十分にWeb関連の技術や環境が発達していなかったことによるが、その後のJava VMの改良や、回線速度の向上、ハードウェア性能の向上により解消されているものが多い。その後は、利用シェアが大きいとは言えないものの、オンライントレードのローソク足チャート表示、チャットやCGアニメーション、ゲーム、教育機関による学習システムなどでの利用を見ることができた。
利点.
登場時には画期的であった、以下のような特徴がある。
欠点.
終盤においても以下の欠点があり、利用上の問題点となるときがあった。
ブラウザー以外の用途.
Webブラウザに組み込んで使うことを目指して作成され、その後の仕様変更・機能追加もWebブラウザ利用に焦点を置いたものであるが、Javaアプレットを動作させるアプリケーションが必ずWebブラウザでなければならないわけではない。例えばOpenOffice.orgでは、文書内にJavaアプレットを埋め込むことができる。
セキュリティー制限とその解除.
Java アプレットには、インターネットでの配布を可能にするために以下のようなセキュリティー上の制限が設けられている。
これらの制限は、ユーザーがポリシー・ファイルを作成し、これらの動作を許諾することによって外すことができる。ポリシー・ファイルは、URIで指定されるコードベース（codeBase）、もしくは電子署名（signedBy）ごとに承諾する動作を規定する。なお、後者の場合はアプレット開発者がアプレットにJarSignerというツールを使って電子署名する必要があるが、署名に必要な鍵は他の処理系で使われる鍵と同一のもの、例えばOpenSSLで生成したものが利用できる。
関連技術.
アプリケーション配布システムとしては、Javaアプレットよりも便利で高度なJava Web Startの登場により、必要性が薄れてきている。