2011-03-10
ライブラリ、フレームワーク、プラグイン、アドオンなどの違いまとめ
正確には
ライブラリ フレームワーク プラグイン アドオン アドイン マクロ コンポーネント スニペット ウィジェット ガジェット モジュールの違いまとめ
になりますw
たぶんそれぞれの分野における意味、使われ方は違うと思うので、
一般的に呼ばれているのはこんな分け方じゃないの?ってところで大雑把にばっさりまとめてみます。
wikipedia先生によると、
汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたもの。
とあります。
上にあるように、プログラムに関して言えば、汎用性のあるものを呼べる形でまとめたものを、ライブラリと呼んでいます。
ただ、けっこう汎用的に文脈でも使われることが多いのではないでしょうか?
これ自体が英語で図書館という意味があるだけに、なんでもかんでも外部から読み込まれるものを「ライブラリ」と呼んでしまうことも多いようです。
批判を恐れず極論いってしまうと、ライブラリのライブラリみたいな感じで、ある程度の指向性をもったライブラリ群、という意味合いで使われることが多いかもしれません。
また、ライブラリ群のそれ自体が、すでに単体で動くものをフレームワークと呼ぶこともあるようです。そうなるとパッケージにも近くなるような・・・?
プログラムのまとまりであることは、他の用語と変わりないのですが、とあるプログラムを部分的に変更し、それを抜き差し可能な状態でまとめたものを、特にプラグインといいます。
例えば、JavaScriptでよく用いられるjQueryは、便利な基本「ライブラリ」として色んな関数が用意されていますが、その機能を拡張したりするものをjQuery「プラグイン」と呼んでたりします。
なので、プラグインだけでは機能させることができません。あくまで抜き差しするためのものですね。プラグだけに。
アドオン
プラグインと考え方はほぼ一緒です。
対象のものを部分的に変更し、それを抜き差し可能な状態でまとめたもの、ですね。
ただ、プラグインが「コード」に着目しているのに対して、アドオンは「機能」に着目した用語のようです。
拡張パックとも呼ばれるそうです。
例えば、WebブラウザであるFirefoxの機能拡張をするまとまりのことをアドオンと呼んだりします。
アドイン
アドインはアドオンと一緒です。inとonの違いです。日本人には分かりませんよきっと。
(分野によって使い分けがされているようですね)
これもまとまりであることは違いないのですが、「手順」や「操作」に着目しています。
元々は、手順などを文字列として保存しておいて、それを実際の手順に置換することをマクロと呼ぶようですが、恐らく使われていくにつれて、手順や操作のまとまりのことをマクロと呼ぶようになってきたようです。
こちらはExcelなどのOffice製品でよく使われている用語ですね。
これはアドオンと同じく、「機能」に着目したまとまりですが、特に1つの構成要素、部品であることを示す意味合いが強いです。
どちらかというと、ソフトウェアで使われるよりもハードウェアで実際に目に見える形のものに対して使うことが多いようです。
アドオンと違う部分は、抜き差しできるといったところにあまりこだわってない、あたりでしょうか。あんまり差は無いですね。
短いコード片のことをスニペットと呼ぶようです。1つのまとまった機能を保っていないこともあるので、大きさで言えば今回出ている用語の中では一番小さいかもしれません。
よくAdobe製品のDreamWeaverなどで、よく出てくるパターンのHTMLのコードなどを埋め込む際に使われます。個人的にスーベニア(贈り物)と意味を取り違えたりします。ある意味ありがたい贈り物ですし。
恐らく使われ始めたのが、パソコンでGUIが流行りはじめた頃で、C言語などでグラフィカルな表現を用いるためにまとめられたまとまりのことをウィジェットと呼びます。
他の用語に比べて、「見た目」に着目した使われ方がされているようですね。
ただ、最近では特に「ブログパーツ」に着目した使われ方が多いようです。
余談ですが、僕は大学時代にこのウィジェットで始めてイベント駆動開発を知りました。
ただどちらかというとガジェットの方が汎用的に使われることが多いようです。
これも他のまとまりと同じく、1つのある機能をもったまとまり、といった意味合いで使われます。
他の用語と比べて、「内部を隠ぺい」しているといった、外側からみて1つにまとまっているよ、といった着目点で語られることが多いようです。
また、より一般的、汎用的な意味合いで使われることが多いようです。
なんだか色々な用語が多くて混乱してしまいますね。
誤解を恐れずざっくりまとめてしまうと、
■汎用度
■単位あたりの大きさ
■用途ごとで着目した時
プラグインは「プログラム」、アドオン・アドイン、コンポーネントは「機能」、マクロは「手順」、ウィジェット・ガジェットは「見た目」
■言葉の響きのエロさ
- 110 http://www.google.co.jp/search?q=スマートフォン 画面の幅&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 89 http://search.yahoo.co.jp/search?p=スマートフォン ウェブ制作 サイズ&ei=UTF-8&fr=top_ga1_sa&x=wrt
- 53 http://twitter.com/
- 49 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/pypupypa/20110129/1296279857&rct=j&q=スマートフォン HTML 画像 ?%A
- 48 http://www.google.co.jp/url?sa=t&source=web&cd=3&ved=0CEEQFjAC&url=http://d.hatena.ne.jp/pypupypa/20110129/1296279857&rct=j&q=スマートフォン サイト 作り?
- 37 http://www.google.co.jp/search?hl=&q=スマートフォン 幅&sourceid=navclient-ff&rlz=1B3GGGL_jaJP269JP269&ie=UTF-8
- 31 http://www.google.co.jp/search?hl=ja&q=スマートフォンの幅&lr=lang_ja
- 31 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2009-01,GGLG:ja&q=スマートフォン 幅
- 24 http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=スマートフォン サイト 横向き
- 20 http://www.google.co.jp/search?client=safari&rls=en&q=スマートフォンサイト+作り方&ie=UTF-8&oe=UTF-8&redir_esc=&ei=RkSkTZeUDYiyvwPFuPiYCg
