.NETのコアは、誰もが共有するためのきちんとした今日、水のテストおよび評価の多くを行っ移行する前にいくつかの時間。次のセクションに:
起源の1 .NETのコア
2.なぜ.NETのコアを移行
3. .NET Core3.X主な特長
4. .NET標準と.NETのコア
5. .NETコアのロードマップ&バージョン選択
次に、我々は詳細に話す展開します。
、.NETのコアの起源
パートナーの小さなチームでそこそこあるので、これは、.NETの栄光の歴史は非常に理解していない、それを.NETCore起源を読み取るために皆を持参する必要があり、より多くの情報の科学のようなものです:
サイード.NETコアには、.NETについて話をする必要があります。Javaはその後、ちょうど本格的に出現し、Microsoftはまた、非常にJavaが、その後、Windowsプラットフォーム、Microsoft Java仮想マシンは、標準JVMに従って実装され尊敬されている、と報じそれはまた、Java仮想マシンの最高のパフォーマンスでした。しかし、Microsoftはまた、不純な動機を持っている、MicrosoftがポイントのWindowsプラットフォーム上でプロパティを見つけることを試みたサン・マイクロシステムズは、ビット偏狭である一方で、JavaはSunのトラブルは、その後、マイクロソフトがマイクロソフトを壊すので、同じように、Windowsプラットフォーム上で少し味をしたいためにバインドされています実際には誕生から.NET、.NETの起動時にJavaは描画し、その後、ステップバイ別のステップは、言語の面での特性を超えて達成するために、フォームの開発。Javaのバージョン1.6の遅い現像後、Java言語の機能の後ろにも、.NET上で描画します。
それは良い.NET開発するだけでなく、WPFとなっているが、Unity3Dはとても競争力のあるフレームワークが登場しました。(Jingdongは、详细、Ctripのは、.NET技術ロードマップ上にあったが)しかし、大規模なプロジェクトの一部で、.NETプラットフォームは、インターネット企業の好みに影響されません。.NETは、オープンソースのフレームワークではなく、また、クロスプラットフォームのフレームワークですので、しかし、それは次のような問題をもたらすでしょう。
コストは:.NETは、Visual Studioを選択してください選択して、Windows Serverのは、ライセンスコストは無視することはできません。
エコロジー:コミュニティからの貢献なし、マイクロソフトの技術の特別な支援のコミュニティが、全体的に理想的ではないが、.NETフレームワークは、良い土壌に生まれていないこと
タレント:など、行く、彼らは、Javaを使用しているため、参加するには、インターネット技術の会社の優れたラインを誘致することができませんが、.NETのコアの誕生が大幅に変更されます後、テンセント、網易は使用されています。
.NETは、Linux上で実行することができますが、これは十分ではありません、このような強力なモノの枠組みが存在している場合でも。結局のところ、モノだけで.NET能力の限られた部分を再生することができます。
同時に、クラウドコンピューティングの普及、クロスプラットフォームの圧倒的な需要が、Linuxは富士OSサーバーとして、.NETは、Linuxをサポートしていない、恥ずかしいです!
また、コンテナの時代には、Windowsとの不可逆的な、強い依存性であり、どのようにドッカー?
要するに、強制の形で、変化と将来を受け入れる、.NETのコアが登場しました。
第二に、なぜ.NETのコアを移行する必要があります
次のことをまとめ、我々は追加することができます。
- .NETのコアは、.NETの開発の将来の方向を表し
- 新製品の機能、.NETのコアの最新バージョンでの優先サポートのMicrosoftのフォーカスのための技術支援
- より良いコード、パフォーマンスの向上、地域社会の皆様の貢献、最適化されたコード
- クロスプラットフォームのサポート、Linux上での展開のサポートは、VMのコストを削減することができます
- ドッカー展開支援、低コスト、高いリソース使用率、コアクラウドネイティブの将来の構図
- 現代のインターネットアプリケーション、マイクロサービスアーキテクチャ、およびよりよい統合DevOpsチームのために
- オープンソースします。https://github.com/dotnet/core
- より良い生態とコミュニティ
三、.NET Core3.X主な機能
、ASP.NETコアを提供するために、別の開発者、Web開発者のニーズを満たすために、WindowsとLinux、MacOSの、両方をサポートし、一般的に、データベースのアクセスに使用される、EFコアを提供し、機械学習のために、ML.NETを提供します。あなたは、彼らのビジネスニーズに応じて、適切な技術を選択することができます。
四、.NETの標準と.NETのコア
私は次のものの起源についてお話しましょう:
.NET Frameworkは、2002年以来、クロスプラットフォームをサポートしていないリリース新バージョンになっています
.NETコアモノ、Xamarinが同様の生成クロスプラットフォームをサポートすることです
このように、SDKの両方のセットを制御する開発者のためのコードの二組、ライブラリの二組があった、それがコミュニティと技術を分割しています。
因此,.NET 要统一类库标准,统一所有的API定义,这就是.NET Standard. 如下图:
.NET Standard的统一:
.NET Standard定义了.NET平台,统一实现的一组API。实现.Net Standard API的平台都与目标.Net Standard库兼容;
.NET Framework和.NET Core都是.NET Standard的标准实现。 .NET Standard是二者的交集。
但是.NET Framework和.NET Core存在其个性化、扩展的类库,需要牺牲兼容性,即:
假如用.NET Framework的个性化SDK。例如注册表、Windows Service、Winform,这样只能部署在Windows中。
假如用.NET Core的个性化SDK,部署运行时,与Windows环境下.NET Framework不兼容。
所以,如果应用程序采用.NET Standard,同时支持.NET Framework和.NET Core,则可以实现两者的兼容。一套代码既支持运行在.NET Framework运行时下,又支持运行在.NET Core运行时下。
同时.NET Standard的版本对应.NET Core、.NET Framework、Mono、Xamarin等的版本,有个对照表:
这张表非常重要。体现了一个规则:
假如程序的目标框架Targetframework 使用.NET Standard2.0, 则支持:
.NET Core 2.0版本的工程可以引用
.NET 4.6 版本的工程可以引用
但是低版本的.NET Core和.NET Framework则无法引用。
五 .NET Core Roadmap&版本选择
先看一下.NET Core最新的Roadmap:
最新的.NET Core 3.1 将2019年11月发布,同时是LTS版本。如果大家现在开始迁移.NET Core,建议选择一个大版本、LTS版本。我们也将选择这个版本。
周国庆
2019/10/03