微軟現在發布.NET最新的主要更新版本5.0,之中也包含了C# 9以及F# 5,.NET 5.0是微軟統一.NET版圖的第一個版本,可讓開發人員不用對.NET Framework程式碼進行大量更改,就能把程式搬遷到.NET 5.0,或也能將.NET Core早期版本,直接升級到.NET 5.0。

微軟在2019年5月首度釋出.NET 5.0的消息,現在已經發布正式版,支援與.NET Core 3.1幾乎相同的平臺,更重要的是,.NET 5.0還新增支援Windows Arm64,並且強化.NET在Arm64上的執行效能。.NET 5.0的支援時間,僅到2021年11月.NET 6.0發布後3個月,而.NET 6.0將會是長期支援版本,像.NET Core 3.1一樣受微軟支援3年。

雖然過去.NET已經支援眾多平臺,但在網頁和行動裝置的工具和API,並不相同也不會同時發布更新,因此即便都是以.NET進行開發,但是開發體驗還是不盡相同,而.NET 5.0的目的,是要讓開發者使用同一組API、語言和工具,就能開發廣泛的應用程式類型,包括行動、雲端、桌面和物聯網應用程式。

在.NET 5.0,還有預計在明年發布的.NET 6.0,微軟要讓.NET提供一致的開發體驗,而且開發者可以僅選擇部分要使用的.NET平臺,像是要開發行動應用程式,開發者就可以不需下載像是WebAssembly等工具,反之亦然。微軟提到,實現一統.NET的願景,第一步是要整合.NET儲存庫,要在各平臺交付相同的程式,讓.NET Runtime和函式庫放置到同一個儲存庫是一個前提,這有助於對Runtime和函式庫進行大規模的更改。

網頁應用程式框架Blazor,就在.NET 5.0進行了儲存庫整合,以及.NET統一化的工作,Blazor WebAssembly的Runtime和函式庫,就是從整合的dotnet/runtime儲存庫建置而來,微軟舉例,這代表在Blazor WebAssembly和伺服器上執行的Blazor,使用相同的List<T>程式碼,接下來微軟還會在.NET 6.0中,對Xamarin進行類似的變動。雖然微軟本來想要在.NET 5.0,實現完整的.NET統一願景,但是因為武漢肺炎疫情的影響,他們最後選擇在.NET 5.0和.NET 6.0兩版本,實現此願景。

.NET 5.0擁有許多新功能,而特別的是,其支援的平臺新增Windows Arm64,也就是說,.NET應用程式現在可以於Windows Arm64上原生執行,而這是在.NET Core 3.0支援Linux Arm64以來,.NET 最新對Arm64平臺的支援。

開發者可以利用.NET 5.0開發,可在Surface Pro X等Windows Arm64裝置上執行的程式,微軟提到,雖然在Windows Arm64上,可以透過x86模擬執行.NET Core和.NET Framework應用程式,但是原生執行的效能還是好上許多。

微軟提到,他們在.NET平臺提供可移植性和一致性,因此在.NET Core 3.x中,Arm64與x64擁有相同的功能,不過,因為Arm64的支援缺乏一些重要的效能改進,.NET在Arm64上的效能跟不上x64平臺,而在過去一年,微軟提高對Arm64效能的投資,現在.NET 5.0在Arm64平臺上的效能,已經有很大的進步。

大致上.NET 5.0與.NET Core 3.1支援的平臺幾乎相同,在支援.NET Core 3.1的作業系統上,大多數情況在同一作業系統也能使用.NET 5.0。對Visual Studio用戶來說,必須要有Visual Studio 16.8或更高版本,才能在Windows上使用.NET 5.0,在Mac則要使用最新版本的Visual Studio for Mac,Visual Studio Code的C#擴充套件,則是已經支援.NET 5.0和C# 9。


Advertisement

更多 iThome相關內容