重複の可能性:
フレームワークとは? それは何をするためのものか?フレームワークが必要な理由
クラス ライブラリとフレームワークの違いは何ですか
いろいろ参考にしましたが、いまだに正しい定義がわかりません。「アプリケーションフレームワーク」とは何を意味しますか?
重複の可能性:
フレームワークとは? それは何をするためのものか?フレームワークが必要な理由
クラス ライブラリとフレームワークの違いは何ですか
いろいろ参考にしましたが、いまだに正しい定義がわかりません。「アプリケーションフレームワーク」とは何を意味しますか?
より簡単な答えは次のとおりです。
アプリケーションフレームワークにより、アプリケーションの作成が容易になります。
アプリケーションの作成は難しいです。アプリケーションは、オペレーティングシステムのセマンティクスを介して取得する入力と出力を提供する必要があります。最近のアプリケーションは通常GUIベースであり、GUIアプリは非GUIアプリよりも桁違いに複雑です。
とても簡単です。フレームワークは、オペレーティングシステムとのインターフェイスのすべての複雑さを取り、それらを簡素化します。それはあなたのためにすべての本質的な詳細を処理します。明らかに、特定のフレームワークは他のフレームワークよりも優れています。
ほとんど議論されていないように思われるアプリケーションフレームワークを使用することには1つの欠点があります(おそらく、私たち全員が行う必要のない作業の量に微笑んでいるためです)。オペレーティング環境の簡略化されたビューを提供するために、フレームワークは特定の「スタイル」にあなたをボックス化する必要があります。アプリが通常の形式のアプリと十分に異なる場合、フレームワークで不満を感じる可能性があります。これにより、やりたいことが非常に難しくなります。これは、フレームワークがあなたから隠していたすべてのことを今やらなければならないことと、フレームワークがおそらく閉鎖系であることが理由の1つです。
フレームワークは、明確に定義されたアプリケーションプログラミングインターフェイス(API)でラップされたコードの再利用可能な抽象化であるという点で、ソフトウェアライブラリの特殊なケースですが、通常のライブラリとは異なるいくつかの重要な特徴が含まれています。
アプリケーションフレームワークは、ソフトウェア開発者が特定の開発環境向けにアプリケーションの標準構造を実装するために使用するフレームワークで構成されています。
ご想像のとおり、ウィキペディアは、アプリケーション フレームワークはアプリケーションを開発するためのフレームワークであると答えています。
通常、アプリケーションはユーザー インターフェイスを提供します。「アプリケーション フレームワーク」は、MFC、Swing、Qt など、低レベルのユーザー インターフェイス コントロールのコレクションにすぎないユーザー インターフェイス フレームワークを指すために大まかに使用できます。
ただし、アプリケーションを開発するための低レベルのツールキットの上に構築された高レベルのフレームワークを提供する Eclipse リッチクライアント プラットフォームや Netbeans プラットフォームなどのより強力なフレームワークとは区別すると便利です。
私は個人的に、これらの後者のプラットフォームに対してのみ「アプリケーション プラットフォーム」を使用し、低レベル API を「ユーザー インターフェイス ツールキット」と呼んでいます。