
コンピューター科学において、プラグイン(またはプラグイン、アドイン、アドイン、アドオン、アドオンとも呼ばれる)は、既存のコンピュータープログラムに特定の機能を追加するソフトウェアコンポーネントです。プログラムがプラグインをサポートしている場合、カスタマイズが可能になります。[1]
テーマまたはスキンは、グラフィカルユーザー インターフェイス (GUI) を使用して、追加または変更されたグラフィカルな外観の詳細を含むプリセット パッケージです。さまざまなユーザーの目的、トピック、または好みに合わせて、特定のソフトウェアや Web サイトに適用し、コンピューター ソフトウェアやオペレーティング システムのフロントエンド GUI (およびウィンドウ マネージャー) の外観と操作性をカスタマイズできます。
目的と例
アプリケーションは、次のプラグインをサポートする場合があります。
- サードパーティの開発者がアプリケーションを拡張できるようにする
- 新しい機能を簡単に追加できる
- 未使用の機能をロードしないことでアプリケーションのサイズを縮小する
- ソフトウェアライセンスに互換性がないため、ソースコードをアプリケーションから分離します。
アプリケーションの種類とプラグインを使用する理由:
- デジタル オーディオ ワークステーションとオーディオ編集ソフトウェアは、オーディオ プラグインを使用してサウンドを生成、処理、または分析します。このようなシステムの例としては、 Ardour、Audacity、Cubase、FL Studio、Logic Pro X、Pro Tools などがあります。
- 電子メール クライアントは、プラグインを使用して電子メールを復号化および暗号化します。Pretty Good Privacyは、このようなプラグインの一例です。
- ビデオゲームコンソールのエミュレーターは、エミュレートするデバイスの個別のサブシステムをモジュール化するためにプラグインを使用することが多い。[2] [3] [4] [5] [6] [7] [8 ] [9] [10] たとえば、PCSX2エミュレーターは、 PlayStation 2のそれぞれのコンポーネントに対してビデオ、オーディオ、光学などのプラグインを使用します。
- グラフィック ソフトウェアは、ファイル形式をサポートし、画像を処理するためにプラグインを使用します。Photoshopプラグインはこれを実行する場合があります。
- OBS Studio のような放送およびライブストリーミング ソフトウェアは、オープン ソース ソフトウェアとして、ユーザー固有のニーズに合わせてプラグインを利用します。
- メディア プレーヤーは、プラグインを使用してファイル形式をサポートし、フィルターを適用します。このようなメディア プレーヤーの例としては、foobar2000、GStreamer、Quintessential、VST、Winamp、XMMS などがあります。
- パケット スニファーは、プラグインを使用してパケット形式をデコードします。OmniPeekは、このようなパケット スニファーの一例です。
- リモート センシング アプリケーションでは、プラグインを使用して、さまざまなセンサー タイプ ( Opticksなど) からのデータを処理します。
- テキスト エディターと統合開発環境では、プラグインを使用してプログラミング言語をサポートしたり、開発プロセスを強化したりします 。たとえば、Visual Studio、RAD Studio、Eclipse、IntelliJ IDEA、jEdit、MonoDevelop はプラグインをサポートしています。Visual Studio 自体は、Visual Studio Tools for OfficeおよびVisual Studio Tools for Applicationsを介して他のアプリケーションにプラグインできます。
- Web ブラウザは歴史的に実行可能ファイルをプラグインとして使用してきましたが、現在ではほとんどが廃止されています。例としては、 Adobe Flash Player、Java 仮想マシン( Java アプレット用)、QuickTime、Microsoft Silverlight、Unity Web Player などがあります。(インストール可能なモジュールの別の種類であるブラウザ拡張機能は、今でも広く使用されています。)
機構

ホストアプリケーションは、プラグインが使用できるサービスを提供します。これには、プラグインがホストアプリケーションに自分自身を登録する方法や、プラグインとデータを交換するためのプロトコルが含まれます。プラグインはホストアプリケーションによって提供されるサービスに依存しており、通常は単独では動作しません。逆に、ホストアプリケーションはプラグインとは独立して動作するため、エンドユーザーはホストアプリケーションに変更を加えなくても、プラグインを動的に追加および更新できます。[11] [12]
プログラマーは通常、プラグインを共有ライブラリとして実装します。共有ライブラリは実行時に動的にロードされます。HyperCardは同様の機能をサポートしていましたが、プラグイン コードは HyperCard ドキュメント (スタックと呼ばれる) 自体に含まれていました。そのため、HyperCard スタックはそれ自体が自己完結型のアプリケーションとなり、エンド ユーザーが追加のインストール手順を必要とせずに実行できる単一のエンティティとして配布可能になりました。プログラムは、 PythonやLuaなどのスクリプト言語で記述された単純なスクリプトファイルのディレクトリをロードすることによって、プラグインを実装することもできます。
Mozillaの定義
Mozilla Foundation の定義では、「アドオン」、「拡張機能」、「プラグイン」という言葉は同義語ではありません。「アドオン」は、Mozilla アプリケーションの機能を拡張するものすべてを指します。拡張機能はサブタイプを構成しますが、最も一般的で最も強力なものです。Mozilla アプリケーションには、パッケージ マネージャーと同様に、拡張機能をインストール、更新、管理する統合アドオン マネージャーが付属しています。ただし、「プラグイン」という用語は、厳密にはNPAPIベースの Web コンテンツ レンダラーを指します。[13] Mozilla は自社製品のプラグインを非推奨にしました。[14]しかし、 Web ブラウザーPale MoonやBasiliskなどのUXPベースのアプリケーションは、(NPAPI) プラグインのサポートを継続しています。[15] [16] [17]
ヘルパーアプリケーション
ヘルパーアプリケーションは、 IrfanViewやAdobe Readerのような外部ビューアプログラムであり、 Webブラウザを使用して取得したコンテンツを表示します。[18] [19]ブラウザのアドレス空間に完全なコードが含まれるプラグインとは異なり、ヘルパーアプリケーションはスタンドアロンアプリケーションです。[20] Webブラウザは、ファイル名拡張子で示されるファイルのメディアタイプに基づいて適切なヘルパーアプリケーションを選択します。[21]
歴史
1970年代半ば、EDT テキストエディタはUNIVACシリーズ90メインフレームコンピュータのUnisys VS/9 オペレーティングシステム上で動作しました。これにより、メモリ内の編集バッファにアクセスできるプログラムをエディタから実行できるようになりました。[22] プラグイン実行ファイルはエディタを呼び出してテキストを検査および変更することができました。ウォータールー大学のFortranコンパイラはこれを使用してFortranプログラムの対話型コンパイルを可能にしました。
プラグイン機能を備えた初期のパーソナルコンピュータ ソフトウェアには、 1987 年にリリースされたApple MacintoshのHyperCard とQuarkXPressがありました。1988年には、Silicon Beach Software がDigital DarkroomとSuperPaintにプラグイン機能を組み込みました。
参照
参考文献
- ^ スターン、ジョナサン。「プラグイン|ソフトウェア」。ブリタニカ百科事典。2021年2月5日閲覧。
- ^ 「PCSX2 - プレイステーション2エミュレーター - プラグイン」。pcsx2.net 。 2018年6月10日閲覧。
- ^ Bernert, Pete. 「Pete's PSX GPU プラグイン」www.pbernert.com . 2018 年 6 月 10 日閲覧。
- ^ Team、Demul。「DEMUL - Windows 用 Sega Dreamcast エミュレーター」。demul.emulation64.com 。2018年 6 月 10 日閲覧。
- ^ 「Android エミュレータ プラグイン - Jenkins - Jenkins Wiki」。wiki.jenkins.io。2018年 6 月 10 日閲覧。
- ^ 「KDE/dolphin-plugins」。GitHub 。 2018年6月10日閲覧。
- ^ 「OpenEmu/SNES9x-Core」。GitHub 。 2018年6月10日閲覧。
- ^ 「推奨される N64 プラグイン」。Emulation General Wiki。2018年 6 月 10 日閲覧。
- ^ 「Playstation プラグイン & ユーティリティ!」www.emulator-zone.com . 2018 年 6 月 10 日閲覧。
- ^ 「PS3 Homebrew アプリ / プラグイン / エミュレータ | PSX-Place」。www.psx-place.com。2018年 6 月 10 日閲覧。
- ^ Mozilla Firefox プラグイン – アドオンという総称の下での Mozilla Firefox プラグインと拡張機能の違いの説明。
- ^ Wordpress プラグイン API – Wordpress プラグイン アーキテクチャの説明。
- ^ 「プラグイン」。developer.mozilla.org . 2022年12月7日閲覧。
- ^ Paul, Ian. 「Firefox は Chrome に続いて 2016 年末までにプラグインのサポートを停止します」。PCWorld . IDG . 2016 年10 月 20 日閲覧。
- ^ 「Pale Moon: 技術詳細 - 機能」。Pale Moon . 2020年6月6日閲覧。
- ^ 「Basilisk: 特徴」。Basilisk 。2020年6月6日閲覧。
- ^ 「Re: 覚えておいてください: プラグインは古くなっています」。Pale Moon フォーラム。2020 年 6 月 6 日閲覧。
- ^ 「ヘルパーアプリケーションの定義」。PCMAG 。 2022年10月25日閲覧。
- ^ 「Internet Explorer 4.x以上を使用してIrfanをダウンロード」。libweb.hawaii.edu 。2024年1月9日閲覧。
- ^ 「ヘルパー アプリケーションとプラグイン - Web セキュリティ、プライバシー、コマース、第 2 版 [書籍]」。Web セキュリティ、プライバシー、コマース、第 2 版。O'Reilly。
- ^ 「Web ブラウザーの場合、ヘルパー アプリケーションとは何ですか。また、どこで見つけることができますか?」kb.iu.edu。
- ^ EDT テキストエディタリファレンスマニュアル、ニュージャージー州シナミンソン:ユニシスコーポレーション、1975年
