.NET平臺系列10 .NET統一平臺願景

張傳寧發表於2021-05-26

  2019年,微軟分享了【統一的.NET堆疊和生態系統的願景】。給開發者帶來的價值是,將能夠使用一組API,語言和工具來針對廣泛的應用程式型別,包括移動,雲,桌面和IoT。可能會意識到,如今已經可以使用.NET定位廣泛的平臺,但是,這些工具和API在Web和Mobile上並不總是相同的,例如它們不是同時釋出的。

  作為.NET 5.0和6.0的一部分,我們正在將.NET統一到一個單一的產品體驗中,同時使您能夠選擇希望使用的.NET平臺的各個部分。如果您希望以移動裝置而不是WebAssembly為目標,則不需要下載WebAssembly工具,反之亦然。與ASP.NET Core和WPF相同。您還可以更輕鬆地從命令列獲取所需的所有.NET工具、構建包和執行時包。我們正在為.NET平臺元件啟用包管理器體驗(包括使用現有的包管理器)。這對於很多場景來說都很好。快速構建開發環境和CI/CD可能是最大的受益者。

  我們本打算用.NET5.0實現整個統一願景,但在全球流行之後,我們必須適應客戶不斷變化的需求。我們一直在與來自世界各地的公司的團隊合作,這些公司需要幫助來加快雲技術的採用。他們也必須適應顧客不斷變化的需求。因此,我們在兩個版本中實現了這一願景。

  實現這一願景的第一步是整合.NET倉庫,其中包括很大一部分的Mono。為執行時提供一個repo和為.NET提供一個庫是在任何地方提供相同產品的先決條件。它也有助於做出影響執行時和庫的廣泛更改,因為以前存在repo邊界。一些人擔心大型回購會更難管理。事實證明並非如此。

  在.NET 5.0版本中,Blazor是利用回購合併和.NET統一的最佳示例。Blazor WebAssembly的執行時和庫現在是從合併的dotnet /執行時倉庫中構建的。例如,這意味著伺服器上的Blazor WebAssembly和Blazor使用與完全相同的程式碼,如:List<T>。.NET 5.0之前的Blazor並非如此。我們為Blazor WebAssembly採取的方法與在.NET 6.0中使用Xamarin的方法非常相似。

  .NET Framework仍然是受支援的Microsoft產品,並且每個新版本的Windows都將繼續支援.NET Framework。去年,我們宣佈已停止向.NET Framework新增新功能,並已向.NET Core新增.NET Framework API。這意味著現在是考慮將.NET Framework應用程式移至.NET Core的絕佳時機。對於.NET Framework客戶端開發人員,.NET 5.0支援Windows窗體和WPF。我們已經從許多開發人員那裡聽說,從.NET Framework進行移植非常簡單。對於.NET Framework伺服器開發人員,您需要採用ASP.NET Core才能使用.NET 5.0。對於Web Forms開發人員,我們認為Blazor通過高效且更加現代的實現方式提供類似的開發人員體驗。WCF伺服器和Workflow使用者可以檢視支援那些框架的社群專案。在從.NET框架到.NET核心移植文件是一個良好的開端。綜上所述,如果您對自己的應用程式感到滿意,那麼將應用程式保持在.NET Framework上是一種很好的方法。

  Windows團隊正在研究Reunion,這是UWP和相關技術的下一步。我們一直在與Reunion團隊合作,以確保.NET 5.0和更高版本可以與WinUI和WebView2很好地配合使用。Project Reunion回購是瞭解最新進展的最佳場所。

.NET未來規劃

 

 


參考文獻:https://devblogs.microsoft.com/dotnet/announcing-net-5-0/

相關文章