アプレット(ソフトウェア):Webページに埋め込まれる小さなプログラム
アプレットは、Webブラウザー内で動作する小さなプログラム。歴史的にはJavaと結びつき、対話的な内容を提供したが、セキュリティや互換性の問題で使われなくなった。
概要
アプレットは、コンピュータプログラムの一種で、Webブラウザーのようなホスト環境の中で実行されるよう設計された小さなプログラムである。アプレットは多くの場合、Webページの一部として配布され、制限された実行環境で動作したため、利用者にフルサイズのデスクトップアプリケーションをインストールさせずに、対話的な機能を追加できた。
特性とライフサイクル
アプレットの実装は通常、制御された実行モデルと、コードが周囲のページやクライアント機械とどのようにやり取りするかを管理するAPIを備える。Javaの世界では、Appletクラス(後にはSwing版も)が小さなライフサイクルを実装し、ブラウザーまたはプラグインがそれを呼び出した。一般的な段階は次のとおりである:
- init — リソースやユーザーインターフェース要素を準備する
- start — 活動的な実行やアニメーションを開始する
- stop — アプレットが表示されなくなったときにバックグラウンド活動を一時停止する
- destroy — アンロード前にリソースを解放する
歴史と衰退
アプレットは、対話的なクライアント側スクリプティングが限られていた初期のWeb時代に広く使われるようになった。初期のアプレットの多くはJavaで書かれた。これは、同言語と仮想機械がプラットフォーム間の移植性を約束していたためである。やがて、ブラウザーのネイティブ機能の充実、より厳格なセキュリティモデル、従来のプラグインAPIの廃止が相まって、利用は急速に減少した。現代のブラウザーは、アプレットが依存していたプラグインインターフェースのサポートから離れていった。
用途と例
歴史的には、アプレットはアニメーション付きメニュー、描画やチャート作成ツール、計算機、簡単なゲーム、教育用デモなどの小さな対話機能を支えた。初期のHTMLやクライアント側スクリプティングでは実現しにくかった、より豊かな機能を埋め込む便利な方法だった。組織は署名付きアプレットを用いて、ファイルアクセスのような処理のためにより高い権限を要求することもあったが、その実践はセキュリティ方針によって制限された。
セキュリティ、互換性、代替手段
アプレットはクライアント機器上でコードを実行するため、慎重なサンドボックス化と権限制御が必要だった。セキュリティ上の懸念に、プラットフォームやブラウザーの変化が重なり、開発者はアプレットから離れるようになった。現在の一般的な代替手段には、HTML5 APIを伴うJavaScript、ブラウザーベースのフレームワーク、WebAssemblyのような可搬なバイナリ形式がある。Java固有のデスクトップ配布では、ブラウザー内アプレット以外の技術が、ブラウザーサポートの低下に伴って選ばれるようになった。
主な違い
アプレットは、サーバーサイドのアプリケーションモジュールや、ActiveXコントロール、ブラウザー拡張のような他のページ内技術と区別すべきである。アプレットは、ライフサイクルとサンドボックスを提供するホストアプリケーションの中で動作したのに対し、他の技術は異なるセキュリティモデルや配布モデルを持っていた。現在では主に歴史的存在だが、アプレットは対話的なWebコンテンツの発展において重要な役割を果たし、後のクライアント側開発のパターンにも影響を与えた。
関連項目の一般的な背景としては、プログラムとは何か、ブラウザー実行時の挙動、Java言語のページ、およびJavaのAppletクラスを参照するとよい。
関連項目
著者
AlegsaOnline.com アプレット(ソフトウェア):Webページに埋め込まれる小さなプログラム Leandro Alegsa
URL: https://ja.alegsaonline.com/art/4999