Microsoft が 2002 年に .NET プラットフォームを立ち上げてから、ほぼ 15 年が経ちました。インターネットの急速な反復の波の中で、多くの言語が廃止され、より多くの新しい言語が登場しましたが、.Net は依然として存続しています。システム開発プラットフォームの最前線にしっかりと立っており、.NET Core の正式バージョン (2016 年 6 月 27 日) の登場により、新たな春が訪れることは間違いありません。
.NET Core を理解するには、以前の .NET プラットフォームの多くの Framework を理解する必要があります。 2002 年に、Microsoft は最初の .NET Framework である .NET Framework をリリースしました。その後すぐに、小型モバイル デバイス (Windows モバイル) で使用するための .NET Compact Framework をリリースしました。また、.NET Compact Framework には .NET に似たフレームワークも含まれています。フレームワーク システム (ランタイム、フレームワーク、アプリケーション モデル)。.NET Framework の簡易バージョンです。過去数年間にわたり、Microsoft はさまざまなデバイスやプラットフォームで実行できる .NET Framework に似たいくつかのフレームワークを継続的にリリースしてきました。各フレームワークは類似したシステムを持っていますが、完全に同じではないため、開発者にとって、同じ機能を備えている場合でも、さまざまなデバイスで複数のコード セットを維持する必要があるフレームワークが増えており、開発の複雑さが増しています。
これらの問題に対する Microsoft の再考と改善により、.NET Core が登場しました。
.NET Core は、Web デバイスやモバイル デバイスを開発する場合でも、すべて同じフレームワーク (.NET Core) で実行され、Windows 、Linux、MacOS などの異なるオペレーティング システムでも実行できます。 、クロスプラットフォーム、クロスデバイスを実現します。
さらに優れているのは、.NET Core はプログラムを公開するときに事前に Framework をインストールする必要がなく、Nuget を通じてダウンロードするため、最初のデプロイ時に複雑で巨大な Framework をインストールする必要がありません。オンデマンドでダウンロードされます。この Nuget ベースのオンデマンド読み込みにより、.NET Core がクロスプラットフォームになります。
.NET Coreの構造は以下の通りです:
.NET Coreで実装されるRunTimeにはNativeRuntimeとCoreCLRの2種類があります。 NativeRuntime は、C# または VB.net コードをネイティブ マシン コードに直接変換します。 CoreCLR は、コードを中間言語 (IL) にコンパイルし、最終的な実行時にマシン コードに変換するオープン ソースの JIT ランタイムです。
Base Classlibraryは、FileSystem、Console、XML操作などの基本クラスです。
Windows システム用のさまざまなタッチ スクリーン デバイスと .NET Core と .NET Framework との関係の簡単な分析 プログラムを開発するための基本ライブラリのセットを提供します。
.NET Coreと.NET Frameworkは両方ともNET Standard Libraryの実装であり、1つは交差しています-platform プラットフォーム、もう 1 つは Windows 固有の実装です。NET Standard ライブラリの実装に加えて、.NET Core と .NET Framework には独自の実装があります。 .NET 標準ライブラリは、一連のインターフェイスを定義し、.NET Core は nuget を通じて現在のオペレーティング システムの実装を動的にダウンロードできるため、クロスオペレーティング システムを実現します。システム (複数のオペレーティング システム間でコードを共有)。
.NET Core は Nuget への依存度が高く、ローカル アプリケーションがデプロイ中に必要なクラス ライブラリを動的にダウンロードできるようになります。 .NET Framework がシステムにプレインストールされている必要があります。このように、.NET Core のデプロイは、.NET Framework よりも簡単、高速、軽量になります。
上の図からわかるように、.NET Core と .NET Framework との関係の簡単な分析 Core には 2 つの形式が存在します:
.NET Core と .NET Framework との関係の簡単な分析 Core Web アプリケーション (.NET Core)
依存関係 .NET Core 上の .NET Core と .NET Framework との関係の簡単な分析 は、.NET Core の API のみを呼び出すことができ、複数のオペレーティング システム上で実行できます。 (可见下图下半部分的Reference Manager,在assemblies中没有.NET Framework 中的库)
.NET Core と .NET Framework との関係の簡単な分析 Core Web アプリケーション (.NET Framework)
.NET Core & .NET Framework に依存する .NET Core と .NET Framework との関係の簡単な分析 は、.NET Core & .NET Framework の API を呼び出すことができ、Windows 上でのみ実行できます。 (下の図の上部に参照マネージャーが表示されます。これには、アセンブリ内の .NET Framework のすべてのライブラリが含まれています)
Mono は、.NET Framework のオープン ソース バージョンの実装であり、オープン ソースやクロス オペレーティング システムなど、いくつかの機能において .NET Core に非常に似ています。現時点では、.NET CORE は Mono の経験から学習して開発され、最終的には Windows 以外のオペレーティング システムでもより適切に実行できるようになります。さらに、Mone は .NET Core よりも多くのアプリ モデル (Windows フォームなど) をサポートしています。
Microsoft CEO Satya Nadella は、PC 中心主義を放棄し、さまざまなデバイスとプラットフォームを受け入れ、ソフトウェア サービス会社になることを賢明に決定しました。このビジョンを達成するには、Windows、Linux、OS X、その他のオペレーティング システムを含め、X86/ARM などのプロセッサやさまざまなデバイス (PC、電話、ホログラフィック メガネなどを含む) をカバーする、新しい Microsoft エコロジカル チェーンを構築する必要があります。これらはMicrosoftの「野心」を示している。 .NET Core の正式リリースが着実に前進しているので、6 月 27 日を待ちましょう。
上記は .NET Core と .NET Framework との関係の簡単な分析です。さらに関連するコンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。