私は何度も前にこの質問に出くわし、用語をもう一度見ましたが、コンピューター工学におけるそれらの本当の概念を知りませんでした.
プラットフォームとフレームワークは何を指しますか?
プラットフォームに依存しない、開発プラットフォーム、フレームワークについても同様の用語をよく目にしますが、静かに理解することはできません。彼らはライブラリを参照していますか?彼らは異なる種類のオペレーティングシステムを参照していますか?
私は何度も前にこの質問に出くわし、用語をもう一度見ましたが、コンピューター工学におけるそれらの本当の概念を知りませんでした.
プラットフォームとフレームワークは何を指しますか?
プラットフォームに依存しない、開発プラットフォーム、フレームワークについても同様の用語をよく目にしますが、静かに理解することはできません。彼らはライブラリを参照していますか?彼らは異なる種類のオペレーティングシステムを参照していますか?
フレームワークという用語は非常に明確に定義されています。フレームワークはライブラリに非常に似ていますが、コントロールが反転している点が異なります。(制御の反転は、フレームワークを構成するものを定義する特徴です。) IOW:あなたはライブラリを呼び出しますが、フレームワークはあなたを呼び出します。
それについて考える別の方法は、アプリケーションを作成することですが、興味のない詳細はすべて空白のままにして、ライブラリを使用してそれらを埋めます。フレームワークOTOHはアプリケーションです。これは、すべての興味深い詳細が空白のままになっているアプリケーションです (もちろん、空白を埋めるために使用するコードでは、ライブラリを自分で呼び出すことができます。また、フレームワーク自体がライブラリを呼び出して実装します)。フレームワークには通常、フレームワークと緊密に統合された豊富なライブラリ セットがバンドルされています. ただし、その違いは明らかです. フレームワークとライブラリが 1 つのパッケージにまとめられているからといって、.区別はありません。)
ただし、プラットフォームという用語はあまり明確に定義されていません。過積載も激しい。ネイティブ アプリケーションの移植のコンテキストでは、通常、CPU ISA (x86、AMD64、IA-64、POWER、MIPS、ARMv9、Sparc など)、ハードウェア アーキテクチャ (PC、CHRP、PReP、Mac)、カーネル ( Linux、NT) およびベース ライブラリ (POSIX、Win32、Core Foundation)。
ソフトウェア開発のより広い文脈では、「プラットフォーム」は通常、文字通り「コードが立つもの」を意味します。ネイティブ アプリケーションの場合は、基本的に上記と同じですが、JVM アプリケーションの場合は、JVM と JRE と OSGI の組み合わせになります。
基本的に、この比喩は文字通りに捉えることができます。つまり、プラットフォームを使用すると、プラットフォームを使用しない場合よりも高い位置に立つことができます (つまり、コード)。
プラットフォームは不定形の用語であり、次のことを意味します。
一方、フレームワークは通常、ツールの集まりです。ソフトウェア、ハードウェア、方法論/パターン ベース (ただし、特定のフレームワークでこれらすべてが必要であるとは限りません) であり、それらを組み合わせてアプリケーション (またはアプリケーションの特定のレイヤー) を構築する方法を提供します。応用)
フレームワークのいくつかの例は次のとおりです。
ソフトウェア
ハードウェア/ソフトウェア
メソッド/パターン (またはプロセス)
プラットフォームは通常、ソフトウェアが実行されている環境と関係があることを意味します。したがって、多くの場合、オペレーティング システム (Windows や Linux など) を意味しますが、アーキテクチャ (x86 はプラットフォームまたは Java 仮想マシンの場合もあります) を意味する場合もあります。フレームワークは通常、関数またはクラスのコレクションであるため、多くの場合、ライブラリと同じであるか、大まかに同じように理解できます。
プラットフォームの部分を試してみましょう。プラットフォームは、何かを「構築する」ものについて話すために使用されます。または、何かを成し遂げるための文字通りのアナロジーとして「立つ」ものと考えることができます。私は「テレフォニー プラットフォーム」を使用しました。これは、対話型音声応答システムの開発を可能にするソフトウェアおよびハードウェア コンポーネントで構成されています。
ここでプラットフォームとソフトウェア フレームワークについて読むことができます: リンク テキスト