アプリケーションフレームワーク
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "アプリケーションフレームワーク" ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2019年3月)

アプリケーションフレームワーク (: application framework) とは、プログラミングにおいて、典型的・定型的なアプリケーションソフトウェアの標準構造を実装するのに使われる枠組みやテンプレートのことであり、ライブラリサブルーチンクラスなど)の集合を含む[1]ソフトウェアフレームワークの一種であり、単にフレームワークとも呼ぶ。特定のプラットフォーム(オペレーティングシステム)のための専用フレームワークであることもあれば、複数のプラットフォームをサポートするものもある。
概要

多くの再利用可能なコードをフレームワークにまとめることによって、開発者の手間を省き、新たなアプリケーションのために定型的で標準的なコードを毎回改めて書かなくて済むようにする。アプリケーションフレームワークは特に、グラフィカルユーザインタフェース (GUI) が普及するにつれて一般化してきた。というのも、GUIはオペレーティングシステムの仕様と密接な関係があり、一般的な操作を共通化する観点から、アプリケーションの基本的構造や外観(ルック・アンド・フィール)の標準化を促進する傾向があるためである。GUIアプリケーションはCUIアプリケーションと比べて実装が難しく、GUI部品(ウィジェット)の描画や、イベントハンドリングのためのイベントループ(メッセージループ)などの記述が煩雑になりがちだが、ほとんどのアプリケーションは同じようなGUI部品を必要とし、同じようなイベントループ構造を持っているため、新しいアプリケーションを開発するたびに新しく書き下すのは労力の無駄となる。GUIではアプリケーションの基本コード構造が明らかであるため、標準フレームワークには自動GUI作成ツール(テンプレートやコードジェネレーター)が用意されていることが多く、サードパーティーによるツール開発も比較的容易である。

フレームワークの実装にはオブジェクト指向プログラミング技法やオブジェクト指向プログラミング言語が一般に使われ、フレームワーク内の既存のクラスを継承して、あるアプリケーションの独自の派生部品を定義することができる。アプリケーションによる特定処理の部分的カスタマイズには、コールバック関数や仮想関数による多態性を用いたカスタマイズポイントをフレームワーク内に用意することで、差分プログラミングが可能となる。
事例

商用の最初のフレームワークとしてMacApp(英語版)がある。Apple ComputerMacintosh向けに開発したものである。当初、オブジェクト指向に拡張されたPascal言語であるObject Pascalで書かれていたが、後にC++言語で書き直された。Macintosh向けの他のフレームワークとしてMetrowerks PowerPlant(英語版)やMacZoopがある(いずれもCarbonベース)。別の系統であるNeXTSTEP由来のmacOS向けアプリケーションフレームワークとしてCocoaがある。

フリーソフトウェアとしては、MozillaOpenOffice.orgGNOMEKDEといったプロジェクトにはアプリケーションフレームワークが含まれている。

マイクロソフトは、Microsoft Foundation Class (MFC) と呼ばれる Windows 向けの同様の製品を開発している。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:11 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef