プラグイン
プラグインとは、プラグインの意味
プラグインとは、差込口という意味のことである。IT用語としては、アプリケーションの機能を追加するソフトウェアのことである。英語の plug-in が由来となっている言葉で、ITの世界ではブラウザなどのアプリケーションの拡張機能のことを指すことが多い。プラグインは、インストールするだけで、通常のアプリケーション機能をより快適に動作させることができるツールである。例えば、通常では動画や音声を再生することができないアプリケーションでも、プラグインをインストールすることで動画や音声を再生できるようになる。
プラグインは、ブラウザの場合は拡張機能のメニューからダウンロードしてインストールすることができる。
プラグインと似た機能にアドインやアドオンが挙げられる。プラグインが機能追加のソフトウェアであるのに対して、アドイン、アドオンは本来の機能をベースにした拡張機能のソフトウェアを指す。
プラグイン【plug-in】
プラグイン
(plug in から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/10/23 03:27 UTC 版)
| 
       | 
     
       
       この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 (2025年10月)
        | 
    
プラグイン(英: plug-in)
- コンセントとプラグで電力を供給する機器。
 - 電子機器において機能拡張、仕様変更をおこなうために規格化された差し替え可能なモジュール。
 - アプリケーションソフトウェアの機能を拡張するために追加することのできるプログラムモジュールの一種。本稿で記載する。
 
概説
通常、コンピュータ上で動作するプログラムは、中心となるプログラムコードがサブルーチンを呼び出して処理を進める形で構成される。処理の基本の流れは同じでも、処理内容の詳細が異なるアプリケーションコードを作る場合には、いくつかのサブルーチンを入れ替えることにより実現する。例えば、「ビットマップ画像ファイルを読み込んで画面に表示をする」というアプリケーションの場合、ファイル読み込みのサブルーチンを差し替えることにより、「PNGを読み込んで画面に表示をする」プログラムや「JPEGを読み込んで画面に表示をする」プログラムなどのバリエーションを作ることができる。逆の操作すなわちファイル保存に関しても同様である。
多くのソフトウェアでは、この差し替え可能な部分のサブルーチンの呼び出し手順(インターフェイス)は公開されておらず、アプリケーション・コードを開発した者だけが差し替え作業ができるようになっている。しかし、上記の画像ファイルのフォーマットの例のように、必要とされる全てのサブルーチンを大元の開発者が用意できるとは限らない場合がしばしば発生する。このような場合、サブルーチンの呼び出し手順を規格化して公開・公表し、さらにサブルーチンの差し替え方法を提供すれば、大元の開発者以外の第三者もアプリケーションの機能を変更・拡張できるようになる。
このようにアプリケーションコードの一部分が誰でも差し替え可能になっている状態をプラグ可能(pluggable)と呼び、外部から注入されるプログラムコードおよびそのモジュールをプラグインと呼ぶ。
プラグインの機構を実現するためには、次の点を外部公開仕様として明確に規格化しなければいけない。
- サブルーチンに与える(入力)パラメータのフォーマットと意味の定義
 - サブルーチンから受け取る(出力)データのフォーマットと意味の定義
 - サブルーチンを呼び出す手順(サブルーチンの名前や呼び出し規約なども含む)
 - サブルーチンが呼び出されるタイミング(実行されるスレッドなども含む)
 - モジュールを配置する場所(ディレクトリ)
 
また、プラグインとなるサブルーチンのコードを開発しやすいように、プラグイン開発用のライブラリ(フレームワーク)が大元のホストアプリケーション開発者から提供されることが多い。
コンパイラを用いて作られたアプリケーションコードでは、原則としてサブルーチンの実行メモリアドレス(相対アドレス)はコンパイル時に決定されてしまうため、サブルーチンの差し替えをする度に再度コンパイルが必要となる。プラグインの場合、ダイナミックリンクライブラリと呼ばれる機構を使って、アドレスをOSのローダーに決定させることによりこの問題を回避する。また、ヒープ上に動的メモリ確保されるオブジェクトは、ランタイムライブラリにバイナリ互換性がない限り、モジュール境界を越えて確保・解放することができないが[1][2]、対となる動的なメモリ確保と解放の処理をプラグインのモジュール内に閉じ込めてしまうことで、プラグインの開発者とアプリケーションの開発者が異なるコンパイラや異なるコンパイルオプション、異なるプログラミング言語を使用することも可能である。
ダイナミックリンクライブラリは、WindowsではDLL形式が、macOSやLinuxなどのUNIX / Unix系OSではso形式が用いられることが多い。これは、OSの開発者が規格化したサブルーチン呼び出し手順であり、OSがその呼び出しを実現する標準APIなどを提供しているので、プラグインを開発する者もプラグイン機構を開発する者も簡単にかつ安定して利用できるからである。プラグインを実装する側では特定の名前と呼び出し規約を持つサブルーチンを実装してシンボルをエクスポートしておき、プラグインを利用するホストアプリケーション側では実行時にモジュールをロードして名前の文字列をもとにサブルーチンのアドレスを探索し、見つかった場合はそのサブルーチンのアドレスを利用して呼び出す、というダイナミックバインディングの技術が用いられる。
Windowsではプラグインの実現にCOM/ActiveXテクノロジーが用いられていることもある。注入されるコードは単純なサブルーチンではなく、オブジェクト指向のインターフェイスを実装したクラスとして実現される。.NET Frameworkではプラグイン機構の実現を容易にするためのフレームワークとして、バージョン4.0でManaged Extensibility Frameworkが追加された。
なお、スクリプト言語の処理系をアプリケーションに組み込んでおくことで、プラグインと類似の機構を実現することもできる。
セキュリティ
アプリケーションの外部からコードを読み込んで実行することで、サードパーティ製のプラグインを利用できるようにすると、コードインジェクションやコードの改竄によって、アプリケーションが不正に使用されるというセキュリティ上の問題が発生する可能性が大幅に高まる[3]。あらゆる可能性を考慮しなければならなくなるため、アプリケーションの動作検証も難しくなる。アプリストアにおけるプライバシーとセキュリティの品質維持の観点から、アプリケーションのパッケージ外部にあるコードを動的に読み込んで実行しないようにポリシーを定めているプラットフォーム[4]や、ユーザーの同意が得られた場合のみアドオンや拡張機能を取得できるように定めているプラットフォームもある[5]。
実際に、Adobe Flash Playerのプラグインはセキュリティホールの温床となっており[6]、iOSプラットフォーム上では最後までサポートされなかった。
プラグインの形式
- Adobe Illustrator用プラグイン
 - Adobe Photoshop用プラグイン
 - Netscapeシリーズのウェブブラウザ用のプラグイン 
    
- Mozilla Firefox用のプラグイン - 関連:拡張機能 (Mozilla)
 
 - Winamp用のプラグイン
 - Susieプラグイン
 - Sleipnirプラグイン
 - Movable Typeプラグイン
 - Eclipse用のプラグイン
 - Apache Maven用のプラグイン
 - LightWave (3次元コンピュータグラフィックス)
 - VSTインストゥルメント (DTM)
 - AU (DTM)
 - DirectXインストゥルメント (DTM)
 - TDM (DTM)
 - HTDM (DTM)
 - RTAS (DTM)
 
プラグインとして動作するソフトウェア
- Adobe Flash Player
 - Adobe Shockwave Player
 - Adobe Acrobat Reader
 - QuickTime
 - Windows Media Player
 - Microsoft Silverlight
 - Real Player
 - 電子国土Webシステム
 - 3DMLW
 
主要なプラグイン対応ホストソフトウェア
- Internet Explorer
 - Netscapeシリーズ
 - Mozilla
 - Firefox
 - Opera
 - Safari
 - Google Chrome
 - シイラ
 - Susie
 - Windows Media Player
 - Winamp
 - Notepad++
 
脚注
出典
- ^ DLL の境界を越えて CRT オブジェクトを渡す場合に発生する可能性のあるエラー | Microsoft Docs
 - ^ C++ ライブラリ サポート | Android NDK | Android Developers
 - ^ セキュリティに関するヒント | Android デベロッパー | Android Developers
 - ^ アプリの中核品質 | Android デベロッパー | Android Developers
 - ^ Microsoft Store ポリシー - UWP applications | Microsoft Docs
 - ^ アップル、旧バージョンの「Adobe Flash」プラグインを遮断 - CNET Japan
 
関連項目
「plug in」の例文・使い方・用例・文例
- 「アサガオ」に対する英語は「morning glory」です
 - Holman Healthは栄養補助食品業界の巨大企業で、最高経営責任者であるBud Rollinsを交代させようとしているが、Bud Rollinsは機会があるたびに、彼と同社取締役会とがあらゆる点で合意できるようには思えないと公言していた。
 - 私は6月後半に休暇を取るので、参加のご要望は必ずLyle GrodinをCCに入れてください。
 - 工事が完了するまで、正面とVine通りの入口からしかセンターに入れない。
 - 昨年までは、Train FirstとTop Shareと契約をしていました。
 - 興味のある方は、12月5日までに、履歴書と少なくとも2通の職務に関する推薦状を添付したEメールを、Singh金融サービスのMisa Takahama、mtakahama@singhfs.comまで送ってください。
 - 現在、香港のMing銀行で下級市場アナリストとして働いており、この職に就いて2 年半になります。
 - 私はBellingham大学の数学の学位があり、どちらの推薦状にも書かれているように、高いコミュニケーションスキルを持ち合わせています。
 - John AbrahamsとTina Linがアンケートデータの収集担当で、この作業は5 月5 日までに終わるでしょう。
 - 配達はWestlake、Pinewood、Ramona限定
 - Direct Marketingという会社が、私たちの卸売業者となることに同意してくれました。
 - この地域では、Direct Marketingは比較的新しい企業ですが、すでに地元の小売店だけでなく、近隣の州の大小の小売店とも、しっかりとした関係を確立しています。
 - Direct Marketingと、円滑で長く続く関係が築けることを期待しています。
 - この家は北側がWinona川に接しており、美しく景観の整えられた半エーカーの土地に位置しています。
 - 詳細は、Sophistication のウェブサイト、www.sophistication-magazine.comをご覧ください。
 - Bryce Rollins の回顧展が、6 月17 日から9 月15 日までSchulz美術館にて、同美術館の35 周年を祝って行われる。
 - 1970 年代初頭以来、独特の皮肉精神を持つRollinsは、近代化によってもたらされた複雑な社会を風刺した、印象的な作品を立て続けに発表している。
 - Rollinsの回顧展の期間中、Schulzの、アフリカ美術の常設コレクションを収容する一画は閉鎖される。
 - Bryce Rollinsの人生を説明すること。
 - caffeinelessをcaffeinlessと間違ってつづった。
 
- plug inのページへのリンク
 
 