この記事では、「アーキテクチャ」と「フレームワーク」の違いを分かりやすく説明していきます。
「アーキテクチャ」とは?
「アーキテクチャ」は、元々は建築用語の「建築構造・建築様式」を意味する言葉でしたが、そこから派生してIT用語としても使われるようになっています。
「アーキテクチャ」というIT用語は、「アプリケーション(ソフトウェア)をどのような目的と方法で作り上げていくのかの基本的な設計思想(アイデア)・作成計画」を意味しているのです。
「アーキテクチャ」はデザインして設計していくさまざまな対象に対して使われています。
代表的な用語として、「ソフトウェアアーキテクチャ・ハードウェアアーキテクチャ・エンタープライズアーキテクチャ・システムアーキテクチャ」などがあります。
「アーキテクチャ」というのは簡単に言えば「ソフトウェアの大まかな作成計画と構造的な設計図」であり、「全体的なビジョン・意図・目的+複数のモジュールの相互作用」を中心にして考えられているものになります。
「アーキテクチャ」は具体的なフレームワークの個別機能と比べると、「抽象的な設計思想・アイデア」としてのニュアンスが強くなっています。
「フレームワーク」とは?
「フレームワーク」とは、「アプリケーションの全体的なアーキテクチャを実装するための具体的なツール・部品」のことを意味しているIT用語です。
「フレームワーク」の一般的な翻訳は「枠組み・下部構造」になりますが、「フレームワーク」は「ゼロから作成したプログラム」というよりも「すでに作成されて機能が検証されている汎用的な雛形(テンプレート)」を指し示していることが多くなります。
「フレームワーク」は、「そのままアプリ開発に応用できるテンプレート」と「モジュール・API・ライブラリ」などで構成されていて、それらは常に拡張していくことが可能になっています。
「アーキテクチャ」と「フレームワーク」の違い
「アーキテクチャ」という建築用語に由来するIT用語は、「ソフトウェア(アプリケーション)をどのような意図で構築するのかについての全体的あるいは抽象的な設計」を意味しています。
それに対して、「フレームワーク」という言葉は、「アーキテクチャの部分として機能しているモジュール」や「アーキテクチャの計画・思想の実装」を意味している違いを挙げることができます。
「アーキテクチャ」という「アプリケーション全体の設計図・意図と思想」を実際に実現するために必要となる部品が、「フレームワーク」になってくるという点に違いがあります。
「フレームワーク」というのは、「アーキテクチャという構造物を実際につくりあげていく上で、その部分として機能するプログラムのコードやテンプレート」を指し示している違いがあるのです。
まとめ
「アーキテクチャ」と「フレームワーク」の違いについて分かりやすく説明しましたが、いかがでしたか? 「アーキテクチャ」とは、「アプリケーションがどんな目的を持っていてどのように組み立てられるかの抽象的な設計・計画」を意味しています。
「フレームワーク」は、「アーキテクチャを構成している部分やその実装」を示している違いがあります。
「アーキテクチャ」と「フレームワーク」の違いについて詳しく知りたいときは、この記事の解説をチェックしてみてください。