フレームワーク
フレームワーク、またはソフトウェアフレームワークとは、ソフトウェアアプリケーションを開発するためのプラットフォームです。ソフトウェア開発者が特定のプラットフォーム向けのプログラムを構築できる基盤を提供します。たとえば、入力の処理、ハードウェアデバイスの管理、システムソフトウェアとのやり取りに使用できる、あらかじめ定義されたクラスや関数が含まれている場合があります。これにより、プログラマーは新しいアプリケーションを開発するたびに、同じ機能を一から作り直す必要がないため、開発プロセスが効率化されます。
フレームワークはアプリケーションプログラミングインターフェース(API)と似ていますが、技術的にはフレームワークにAPIが含まれています。名前が示すとおり、フレームワークはプログラミングの基盤として機能し、APIはフレームワークがサポートする要素へのアクセスを提供します。フレームワークには、コードライブラリ、コンパイラー、その他ソフトウェア開発プロセスで使用されるプログラムが含まれる場合もあります。
ソフトウェアフレームワークには、いくつかの異なる種類があります。よく知られている例として、Windows開発用のActiveXと.NET、Mac OS X用のCocoa、iOS用のCocoa Touch、Android用のAndroid Application Frameworkがあります。これらの各フレームワークではソフトウェア開発キット(SDK)を利用でき、対応するフレームワーク専用に設計されたプログラミングツールが含まれています。たとえば、AppleのXcode開発ソフトウェアには、Cocoaフレームワーク用のアプリケーションの記述とコンパイルを目的としたMac OS X SDKが含まれています。
多くの場合、ソフトウェアフレームワークはオペレーティングシステムによってネイティブにサポートされています。たとえば、Android Application Framework用に記述されたプログラムは、追加のファイルをインストールしなくてもAndroidデバイス上で実行できます。ただし、実行するために特定のフレームワークを必要とするアプリケーションもあります。たとえば、WindowsプログラムにはMicrosoft .NET Framework 4.0が必要な場合があります。これはすべてのWindowsマシン、特に古いバージョンのWindowsを実行しているPCにインストールされているわけではありません。この場合、プログラムを実行するには、Microsoft .NET Framework 4のインストーラーパッケージをインストールする必要があります。
NOTE:フレームワークは通常、幅広いソフトウェア開発プラットフォームを指しますが、この用語は、より大きなプログラミング環境内の特定のフレームワークを表すためにも使用できます。たとえば、Spring、ZK、Java Collections Framework(JCF)など、複数のJavaフレームワークを使用してJavaプログラムを作成できます。さらに、AppleはOS Xプログラムからアクセスできる、いくつかの特定のフレームワークを作成しています。これらのフレームワークは.FRAMЕWORKファイル拡張子で保存され、/System/Library/Frameworksディレクトリにインストールされます。OS Xフレームワークの例としては、AddressBook.framework、CoreAudio.framework、CoreText.framework、QuickTime.frameworkがあります。[/n]
知識をテストする