.Net標準是什么?
2018-10-30
令人困惑的是,.Net標準不僅涵蓋庫,而且是.Net開發中用于構建目標的名稱(實際上是“netstandard”),用于快速定義代碼中所需的庫,并由 IDE和編譯器自動處理。
作為.Net開發的一部分,Microsoft通過ECMA(負責JavaScript標準的小組)對運行時API進行了標準化。 該標準化使得相同的代碼可以針對不同的.Net運行時,.Net標準庫指定了幾乎所有.Net實現,從Windows Phone的Silverlight到運行在Azure的無服務器PaaS上的應用程序,從Android和iOS Xamarin代碼到HoloLens上UWP的API。但是ECMA標準還是不夠廣,無法標準化構建更復雜應用程序所需的基類庫。
由于不同的.Net運行時支持不同級別的.Net標準API,因此代碼不像你想要的那么便攜。如果要構建需要在不同版本的.Net上運行的代碼,則必須定位標準庫的最低通用版本。因為庫是通過NuGet提供的,這不是問題。
Microsoft重構.Net還是有意義的。一旦你克服了.Net標準(庫)和netstandard(目標)之間的混亂,決策會變得相當簡單。讓我們回到最初的問題,關于.Net,開發人員該如何選擇?
如果你正在使用大量的工作流和數據連接工具.Net生態系統的大型應用程序,請堅持使用.Net Framework。如果你的目標是云和移動端,并且考慮跨平臺開發—— .Net Core和.Net標準庫的組合是最佳的。
下一篇: PHP、Java、net到底應該學哪個?