アプリケーションフレームワーク()とは、プログラミングにおいて、典型的・定型的なアプリケーションソフトウェアの標準構造を実装するのに使われる枠組みやテンプレートのことであり、ライブラリ(サブルーチンやクラスなど)の集合を含む。ソフトウェアフレームワークの一種であり、単にフレームワークとも呼ぶ。特定のプラットフォーム(オペレーティングシステム)のための専用フレームワークであることもあれば、複数のプラットフォームをサポートするものもある。概要.多くの再利用可能なコードをフレームワークにまとめることによって、開発者の手間を省き、新たなアプリケーションのために定型的で標準的なコードを毎回改めて書かなくて済むようにする。アプリケーションフレームワークは特に、グラフィカルユーザインタフェース(GUI)が普及するにつれて一般化してきた。というのも、GUIはオペレーティングシステムの仕様と密接な関係があり、一般的な操作を共通化する観点から、アプリケーションの基本的構造や外観(ルック・アンド・フィール)の標準化を促進する傾向があるためである。GUIアプリケーションはCUIアプリケーションと比べて実装が難しく、GUI部品(ウィジェット)の描画や、イベントハンドリングのためのイベントループ(メッセージループ)などの記述が煩雑になりがちだが、ほとんどのアプリケーションは同じようなGUI部品を必要とし、同じようなイベントループ構造を持っているため、新しいアプリケーションを開発するたびに新しく書き下すのは労力の無駄となる。GUIではアプリケーションの基本コード構造が明らかであるため、標準フレームワークには自動GUI作成ツール(テンプレートやコードジェネレーター)が用意されていることが多く、サードパーティーによるツール開発も比較的容易である。フレームワークの実装にはオブジェクト指向プログラミング技法やオブジェクト指向プログラミング言語が一般に使われ、フレームワーク内の既存のクラスを継承して、あるアプリケーションの独自の派生部品を定義することができる。アプリケーションによる特定処理の部分的カスタマイズには、コールバック関数や仮想関数による多態性を用いたカスタマイズポイントをフレームワーク内に用意することで、差分プログラミングが可能となる。事例.