.NET是跨平臺的開發棧。它有一個標準庫,稱為.NET Standard Library,其中包含了大量的APIs。這個標準庫由各種.NET運行環境實現:.NET Framework、.NET Core和Xamarin-flavored Mono。 1:.NET Framework就是現有的開發人員 ...
.NET是跨平臺的開發棧。它有一個標準庫,稱為.NET Standard Library,其中包含了大量的APIs。這個標準庫由各種.NET運行環境實現:.NET Framework、.NET Core和Xamarin-flavored Mono。 1:.NET Framework就是現有的開發人員一直使用的.NET Framework。它實現了.NET Standard Library,就是說任何僅依賴於.NET Standard Library的代碼都可以在.NET Framework上運行。它包含了其他Windows專用的APIs,比如說用於Windows桌面開發的APIs如Windows Forms和WPF。.NET Framework針對構建Windows桌面應用程式進行了優化。
2:.NET Core是針對伺服器工作負載優化的新的跨平臺運行環境。它實現了.NET Standard Library,就是說任何使用.NET Standard Library的代碼都可以在.NET Core上運行。該運行環境適合新的Web開發棧ASP.NET Core使用。它是現代的、高效的併為處理大規模的伺服器和雲工作負載設計的。
3:Xamarin-flavored Mono是Xamarin應用程式的運行環境。它實現了.NET Standard Library,就是說任何僅依賴於.NET Standard Library的代碼都可以在Xamarin應用程式上運行。它包含了其他iOS、Android、Xamarin.Forms和Xamarin.Mac使用的APIs。它針對在iOS和Android上構建移動應用程式進行了優化。 當談論到選擇運行環境的問題,選擇方式應該是這樣的:
1:.NET Framework是以Windows為中心的框架,為Windows開發人員提供最好的服務。如果你正在搭建Windows為中心的應用程式,請你選擇它。
2:.NET Core是雲優化引擎,它是跨平臺的。它使用相同的高性能JIT編譯器,但在所有支持的操作系統(Windows、Linux、macOS)上運行代碼。它沒有特定的Windows APIs,因為這有悖於跨平臺的目標。
3:Mono是用於移動應用和Apple平臺(Android、iOS、watchOS、tvOS)的運行環境,用於游戲控制器和Unix桌面應用程式。 什麼應該用於你的新項目呢?這取決於你的需求。 Windows桌面應用程式?請使用.NET Framework,就像你之前一直做的一樣。 伺服器或Web應用程式?請使用ASP.NET Core,運行在.NET Core上。 移動應用程式?請使用Xamarin。 類庫和NuGet包?請使用.NET StandardLibrary。 使用標準庫對於在你的所有應用程式中共用代碼非常重要。