重新整理.NET
.NET Core 釋出的那一天起,它在完成自我重新整理的過程,一切為了適應未來,雲原生。不僅僅跨平臺那麼簡單。
.NET Core 未來發展路線
我們發現跳過了.NET Core 4.X 避免了和目前.NET Framework4.X命名上的混亂,明年直接命名為了.NET 5 , 預設還是core,不過.NET 4.8將是最後一個.NET Framework版本,.NET core 才是.NET真正的未來。.NET Core 是微軟 .NET 技術的開源、跨平臺版本,允許開發者在 Windows、Mac 和 Linux 上使用包括 C#、F#和 Visual Basic 等語言。可以說,.NET Core 是僅支援 Windows 的 .NET Framework 的一個跨平臺分支,自 2016 年 6 月首次釋出後,微軟一直在保持同時開發這兩個版本。當時微軟表示,.NET Core 適用於 ASP.NET Web 應用,以及 Win10 UWP 應用。Windows 桌面應用將繼續使用 .NET Framework 。
不過今年釋出的.NET Core 3.0 和最近釋出的3.1長期版本,重點改進了桌面開發(包括WPF和Windows窗體)和Blazor,可以完全看出.NETcore (將來在.NET Core之上構建的.NET 5)將是.NET的未來,同時能夠廣泛地支援C#8.0(主要新功能包含有:Nullable的引用型別、各種非同步流(Async streams)、範圍與檔案、以及不同的Switch表示式。)。
生命週期
建議儘可能的遷移到.NET Core 3.1。它對.NET Core進行了多方面的改進。這也是一個LTS版本,將支援三年。其他版本的生命週期:
-
.NET Core 3.0將於今天(即2020年3月3日)終止。
-
.NET Core 2.2的每個生命週期都將在12月23日結束。
-
.NET Core 2.1的支援將一直持續到2021年8月(這也是LTS版本)。
NETER從.NET Framewrok 過渡到.NETcore 開發,學習成本不會太大,可能對一些新的術語有點迷糊。下面梳理下
-
.NET Standard:.NET Standard 是一套正式的 .NET API 規範,有望在所有 .NET 實現中推出。推出 .NET Standard 的背後動機是要提高 .NET 生態系統中的一致性。ECMA 335 持續為 .NET 實現行為建立統一性,但適用於 .NET 庫實現的 .NET 基類庫 (BCL) 沒有類似的規範。.NET Standard 可實現以下重要情境:為要實現的所有 .NET 實現定義一組統一的、與工作負荷無關的 BCL API。使開發人員能夠通過同一組 API 生成可在各種 .NET 實現中使用的可移植庫。減少甚至消除由於 .NET API 方面的原因而對共享原始碼進行的條件性編譯(僅適用於 OS API)。總之一句話,.NET Standard是支援跨平臺.NET庫並替代PCL的現代方法
-
Blazor 是一個基於C#,Razor模板語言和HTML的web框架,可以通過WebAssembly在Web瀏覽器中執行,不需要使用javascript就可以建立動態網站。而WebAssembly(簡稱:Wasm)是基於堆疊的虛擬機器的二進位制中間程式碼,可在瀏覽器中執行,並且旨在補充JavaScript。目前已經是w3c的標準了,各大瀏覽器都已支援。
-
Electron.NET 可能有人說微軟沒有提供GUI解決方案,無法真正的跨平臺,現在呢,社群受到Electron的啟發,Electron.NET誕生了,可以利用.NETcore進行開發。
我們一起拖過控制元件,一起擁抱.NET Core,一起迎接.NET5......未來可期,接下來準備閱讀下這本書......
參考:https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/cross-platform-targeting