機能拡張

ソフトウェアにおける機能拡張について



ソフトウェアの機能拡張とは、ソフトウェアに新たな機能を追加する様々な方法を指します。これらの機能拡張は、ソフトウェアの利用体験を向上させたり、特定のニーズに対応したりするために不可欠です。

様々な呼称



機能拡張は、ソフトウェアの種類やプラットフォームによって様々な名称で呼ばれます。以下に主な例を挙げます。

拡張機能 / エクステンション (software extension)
拡張パック (expansion pack)
アドオン / アドイン (add-on / add-in)
プラグイン (plug-in)
パッチ (patch)
マクロ (macro language) / スクリプト
スナップイン (snap-in)

これらの名称は、ソフトウェアによって同一視されたり、区別して考えられたりします。
また、「拡張機能」という名称とは裏腹に、不要な機能を隠したり無効化したりする機能を持つものも存在します。

アドオン



アドオン(アドインとも呼ばれます)は、ソフトウェアに機能を追加するための比較的小さなプログラムです。プラグインと混同されやすいですが、プラグインについては後述します。アドオンの代表的な例としては、Webブラウザにおける機能拡張が挙げられます。

Mozilla製品(Firefoxなど)においては、アドオンは拡張機能、テーマ、プラグインの総称として扱われます。多くのアドオンは、バイナリ形式ではなくスクリプト言語で記述されています。

マクロ



マクロは、一定の作業を自動化するための機能です。アドオンと同様に、ソフトウェアに組み込まれたスクリプト言語で記述されますが、配布されるよりも個人的に作成し利用されるケースが多いです。

プラグイン



プラグインは、外部のプログラムを読み込んで利用することができる仕組みを採用したソフトウェアにおける、その外部プログラムのことです。プラグインは、主にプログラムの形式(外部ライブラリ、バイナリ形式)で配布されます。本体となるソフトウェアから呼び出されて特定の処理を実行しますが、プラグイン単体では動作しません。

プラグインの例:

Adobe Photoshopのプラグイン(フィルタ、ブラシなどの追加)
Microsoft Officeにおけるアドイン
Microsoft 管理コンソールにおけるスナップイン
Windows Explorerのシェル拡張
macOSの機能拡張(OS 9以前)
Susieプラグイン(画像表示プラグイン
統合アーカイバプロジェクトのDLL(圧縮ファイルの展開/生成)
Windows Media PlayerやQuickTime Playerのコーデックプラグイン

パッチ



パッチは、プログラムやデータそのものを書き換えるものです。更新前と更新後のデータを比較し、異なる部分(差分)のみをまとめたもので、プログラムの機能を変更または追加するために使われます。パッチは、データ量を小さく抑えることができるため、大量のデータをやり取りする際に効率的です。

ユーザーが非公式に機能を拡張するためにパッチが使用されることもあります。コンピュータゲームでは、ユーザーによるパッチを特にMODと呼びます。公式に配布されるパッチは、拡張パックと呼ばれることがあります。

一般的には、プログラムのバグセキュリティホールを修正するための修正パッチ、ホットフィックス、更新ファイル、アップデートなどがパッチの身近な例として挙げられます。Microsoft WindowsにおけるMicrosoft Updateも、パッチを適用する代表的な例です。

拡張パック



拡張パックは、コンピュータゲームだけでなく、一般のソフトウェアにも用いられることがあります。拡張パックは、プログラム本体を変更するパッチを指す場合もあれば、プラグインやアドオンのような外部プログラムを指す場合もあります。

スキン



ユーザインタフェースの外観表示を変更できるスキン(テーマ、ビジュアルスタイルとも呼ばれます)も、一種の機能拡張とみなすことができます。スキンによって、見た目の色を変更するだけでなく、ボタンの配置を操作したり、ユーザーが作成した追加機能にアクセスしたりすることも可能です。

Webブラウザにおける機能拡張



Webブラウザにおける機能拡張は、特に普及が進んでいます。Firefoxの拡張機能は有名ですが、現在では、SafariGoogle ChromeOperaInternet Explorerなど、多くのブラウザが機能拡張に対応しています。

Webブラウザの拡張機能は、主にJavaScriptのようなWeb技術を応用したものが多く、プラグインは、Adobe Flashのような外部ライブラリに依存したものが一般的です。また、ユーザースクリプトは、拡張機能よりも軽量ですが、処理系のアドオンが必要となります。

Google Chromeは、ユーザースクリプトにも標準で対応しています。Internet Explorerも、アドオンに対応しており、シェル拡張のように外部ソフトウェアをインストールする形で機能拡張が行えます。

ただし、プラグインによる実行システムへの自由なアクセスは、セキュリティ上の脆弱性となる可能性があります。HTML5WebGLの標準化によってブラウザのマルチメディア対応が強化されたことで、プラグイン方式で実現されるケースは減ってきています。

Webブラウザの拡張機能の例:

Adblock Plus (広告ブロック)
Auto Pagerize (ページ自動読み込み)
Stylish (Webサイトのスタイル変更)

Webブラウザのプラグインの例:

Javaアプレット
Microsoft Silverlight
Adobe Flash Player
メディアプレーヤー(Windows Media Player、QuickTimeなど)
* Adobe Acrobat Reader

このように、ソフトウェアの機能拡張は多岐にわたり、その種類や利用方法も様々です。それぞれの特徴を理解することで、ソフトウェアをより便利に活用することができるでしょう。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。