係統粉 > IT資訊 > 微軟資訊

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?

發布時間:2019-10-10    瀏覽數:

隨著時間的推移,.Net Core 不斷的嚐試新的辦法給用戶最好的體驗,那麼3.0的到來會給我們帶來怎樣的效果呢?

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(1)

作者 | Simon BIsson

譯者 | 彎月,責編 | 劉靜

出品 | CSDN(ID:CSDNnews)

以下為譯文:

微軟和.Net基金會為.Net Core平台帶來的重大升級。

說起來讓人難以置信,.Net已有將近18年的曆史了。第一版.Net 框架於2002年2月發布。多年來,.Net已成為Windows開發的基礎,而且隨著2014年.Net Core的發布和.Net 基金會的成立,.Net開始從專有轉向開源開發模型,旨在成為所有.Net開發的基礎。

當初.Net Core推出時隻有非常有限的一部分功能,但隨後它迅速追上了.Net框架。最初.Net Core隻能用於控製台和Web應用程序,如今可以用於桌麵應用和GUI的代碼。相信很快微軟就會將所有.Net支持轉移到.Net Core和.Net標準庫,從而提供一組通用的API,使代碼能在各種.NET實現(包括Xamarin和Unity)上兼容。

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(2)

.Net Core 3.0版魅力無限

最近微軟發布了.Net Core 3.0版。3.0版是對該平台的一次重大更新,其中包含許多新的API,並終於開始支持Windows桌麵應用程序。該版本還增加了對C# 8.0和.Net標準 2.1的支持,以及對多個操作係統(包括Linux在內)的ARM64支持。基於瀏覽器的應用將受益於微軟的Blazor Web Assembly和服務器端工具。

對Windows桌麵支持可能是該版本中.Net Core最大的改動。請務必注意,任何使用Windows桌麵組件的應用程序都無法享受到.Net Core的跨平台功能。你可能想起了最初Xamarin的解決方法,即在一個Visual Studio項目中開發多個解決方案,該項目基於共同的代碼核心,但每個解決方案擁有不同的、針對目標係統的UI代碼。

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(3)微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(4)

Windows桌麵係統上的.Net Core

桌麵應用將使用熟悉的Windows Presentation Foundation和Windows Forms,如此一來原來的.Net 框架應用程序就可以輕鬆地移植到.Net Core中。此外,你依然可以使用現代控件;而對XAML Islands的支持意味著你可以使用WinUI控件以及微軟新的Fluent設計語言。XAML Islands是一項重要技術,但是如果你需要支持多個Windows版本,那麼就需要為舊版本添加應變的控件。微軟即將發布Visual Studio的更新,它將為.Net Core桌麵應用程序添加模板。它還增加了WinForms對高DPI應用程序的支持,對現代個人電腦和Surface Book等筆記本電腦來說,這是一項重大的需求。

GUI不是桌麵應用程序所需的唯一功能。Windows .Net Core代碼需要使用現有的SDK和插件來調用COM代碼,而且COM也需要調用.Net Core的代碼。後一種情況很複雜,因為它需要在宿主應用程序調用你的.Net Core COM服務器時檢測適當的CLR並自動加載。

盡管我們熟悉的.Net框架可以通過shim來解決這個問題,但.Net Core的設計目標是在係統範圍避免使用shim來簡化部署(如文檔所說的“少用魔術方法”)。相反,它會給你的代碼添加一個COM庫,該庫將自身作為自定義shim公開,並帶有其使用的類的清單。在被調用時,它會觸發一係列操作,以找到合適的運行時,並激活被調用的類,這些類在其自身的上下文中運行。盡管該過程看起來很複雜,但是在構建代碼時它是由.Net Core自動生成的。你隻需要考慮這種方法是否能提供足夠的性能。

之前我寫過有關微軟新的應用程序打包技術——MSIX的文章。如今,它既可以部署.Net Core軟件包,也可以部署Win32和UWP。將MSIX用於桌麵.Net Core應用非常有意義,因為它允許管理員在整個組織中進行部署之前將自己的自定義項添加到安裝程序。

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(5)

用於現代微服務應用程序的.Net Core

.Net Core平台的底層已得到加強,以便更好地支持現代應用程序,更好地支持異步通信,還內置了對JSON的支持。.Net Core的設計本身就考慮了微服務,因此建立快速、低內存的JSON工具已完全可行。你無需依賴第三方庫,因為你可以使用內置的JSON reader來構建自己的解析器。你還可以利用對UTF-8字符的支持,使用更緊湊的JSON編碼器,與流行的庫相比,它在速度上提高了30%-80%。

有關微服務開發的另一個重大更新是對HTTP/2的支持。利用HTTP/2處理REST API可以提高客戶端和服務器的安全性,還可以在開發過程中關閉加密功能,以簡化使用Fiddler等底層工具的調試。TLS 1.3版本擁有更好的安全性,盡管在Windows和MacOS等客戶端操作係統開始支持之前,還無法在桌麵應用中享受到這些好處。如果在Linux上使用.Net Core 3.0微服務,並使用Cloudflare等服務來預防DDOS,那麼就可以感受到其中的好處。

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(6)

可預見的發布時間表

從這個版本開始,微軟和.Net 基金會將製定更可預見的.Net開發時間表。在2019年9月發布第一版的.Net Core 3.0發布之後,很快2019年11月將發布長期支持版本。一年以後,我們將看到期待已久的.Net Core和.Net 框架在.Net 5.0中的合並。之後,下一個長期支持版本將是2021年的.Net 6.0。在Build 2019上微軟表示,他們的目標是每年發布一次,其中偶數版本號為長期支持版本。這樣做的目的是推出可預見的.Net發布時間表,並確保每一次的發布。

這項變動會影響到微軟更新SDK版本的方式。他們引入了功能區的概念,以及更新版本的編號過程。目前,補丁號將為三位數,第一位數表示受支持的功能範圍。安裝3.0.103將替換所有早期版本中的1xx係列。但是,安裝3.0.201不會影響任何已安裝的1.x版本。

.Net Core的新版本非常重要,而3.0這個版本尤為重要,因為這是所有.Net平台開發轉移到.Net 5.0之前的最後一步。你有一年的時間將現有.Net應用程序從舊的.Net 框架轉移到新的API和.Net 標準。由於增添了桌麵應用程序支持和MSIX,此次新版本將帶領你開始遷移工作。

原文:https://www.infoworld.com/article/3440736/what-net-core-30-means-for-developers.html?upd=1570537078517

本文為 CSDN 翻譯,轉載請注明來源出處。

【END】

微軟發布.NetCore3.0版重大更新,對開發者來說意味著什麼?(7)
上一篇:又是一個活久見!蘋果竟然幫微軟賣貨 下一篇:機器人員工爆火催生70億美元獨角獸,正孵化像微軟office類應用

相關資訊

最新熱門應用

電腦問答