.NET 平臺負責人 Scott Hunter 專訪:.NET Core 3 給 .NET Core

本文要點
  • .NET Core 3 給 .NET Core 帶來了不少新東西。新版本包括 C# 八、WinForms 和 Entity Framework 6。編程

  • .NET Core 3 將專門針對微服務,而且是針對雲原生應用程序的構建而設計的。瀏覽器

  • 開發人員能夠在其 ASP .NET Core 3.0 應用程序中編寫高性能、基於契約的 RPC 服務。安全

  • ASP .NET Core 3.0 可以使用 AOT(提早編譯),從而使開發人員的應用程序可以本機化且具備高性能。服務器

  • 對於 bug、性能、安全性和將來的標準,微軟將繼續更新其 .NET 框架( .NET Framework)。app

本文是探討 .NET Core 優點的系列文章之一,它不只能夠幫助傳統的 .NET 開發人員,還能夠幫助全部想要爲市場提供可靠、高性能且經濟的解決方案的技術人員。框架

隨着 .NET Core 3.0 的發佈,微軟擁有了通用、模塊化、跨平臺和開源平臺的下一個主要版本,該版本最初是在 2016 年發佈的。.NET Core 最初是爲了支持下一代 ASP .NET 解決方案而建立的,可是如今它驅動了許多其餘場景,包括物聯網、雲和下一代移動解決方案,而且是這些場景的基礎。3.0 版本增長了許多經常使用特性,好比對 WinForms、WPF 和 Entity Framework 6 的支持。機器學習

.NET Core 3.0 在 2019 年 9 月 23 日至 25 日的 .NET Conf 上正式發佈,這是一個免費的虛擬開發者活動。在發佈以前,Chris Woodruff 與 .NET 平臺的項目負責人 Scott Hunter 一塊兒討論了開發人員對 .NET Core 3 的指望。異步

 你在 .NET Core 團隊中擔任什麼角色?編程語言

Scott Hunter:我是 .NET 平臺的項目負責人。我有一個項目管理團隊,負責監督 .NET Core、 .NET 框架、   .NET 工具、Web 工具、 .NET 語言(C#、F#、VB)、ASP .NET、Entity Framework、 https://dot .NET 和 .NET 社區。團隊中的項目經理要確保咱們爲客戶構建的是正確的產品,而且幫助推進 .NET 社區的發展。編輯器

 在咱們深刻探討 .NET Core 以前,請先介紹一下 .NET Core 的背景知識以及該框架的來源。

Hunter:.NET Core 是於 2014 年啓動的,當時做爲一個團隊,咱們意識到,要使 .NET 緊跟將來 20 年,咱們須要作一些變化,而這些變化沒法在 .NET 框架中實現。由於 .NET 框架是 Windows 的一部分,而計算機上只能有一個 Windows 版本。所以,它須要保持高度兼容,這樣它纔不會破壞世界上 10 億多臺 Windows 機器上安裝的任何應用程序。做爲 Windows 的一部分,咱們一年只能發佈兩次,這是 Windows 主要更新的發佈週期。同時,開源正在接管軟件,全部其餘的編程平臺都是開源的。咱們還看到一些開發人員在使用 Mac,一些公司在 Linux 上託管他們的軟件,因此咱們須要跨平臺。

.NET Core 是 .NET 的一個版本,它是開源、跨平臺的,而且多個版本能夠同時安裝在一臺計算機上。它的工具被設計成優先使用 CLI(Command Line Interface,命令行界面),所以開發人員可使用任何文本編輯器在任何計算機上使用 .NET Core 進行開發。若是使用的是傳統工具,如 Visual Studio、Visual Studio for Mac 和 Visual Studio Code,咱們也對它進行了很好的支持。

 在 3.0 版本中,大家對 .NET Core 有什麼計劃嗎?

Hunter:.NET Core 3 給  .NET Core 帶來了不少新東西。有數百萬的開發人員使用 WinForms 和 WPF 來構建桌面應用程序,所以咱們將這兩個框架都添加到 .NET Core 中了。許多桌面應用程序使用 Entity Framework 6,因此咱們也添加了它。由於 .NET Core 一直以來都是基於開源的,因此咱們在 12 月份宣佈,咱們也將對這兩個框架進行開源。此外, .NET Core 3 還包括 C# 八、 .NET Standard 2.1 等。

 大家對 ASP .NET Core 3.0 有什麼計劃嗎?

Hunter:不少時候,當咱們談論 .NET Core 3.0 時,咱們都會談到新的桌面支持,可是它在 ASP .NET 中也有不少創新。首先,雖然咱們沒有恢復 WCF,可是咱們知道許多開發人員但願在他們的應用程序中編寫高性能、基於契約的 RPC 服務。對於這些工做需求,咱們正在支持開源的 gRPC 項目。咱們正在努力使 .NET 實現成爲第一個類,由於它是 gRPC,因此它也能夠與許多其餘編程語言一塊兒工做。有一個新的與微服務相關的 Worker Service 項目,用於構建輕量級後臺 worker,它能夠在諸如 Kubernetes 之類的編排器下運行。此外,雖然 ASP .NET 對構建 API 已經有了很好的支持,但咱們但願可以輕鬆地將豐富的安全性添加到 API 上,所以咱們正在新增橋接器,以便開源的 Identity Server 項目能使用咱們的 API。最後,咱們正在研究 Blazor,它容許開發人員使用 Web Assembly 在瀏覽器和服務器中使用 .NET 構建高性能的 Web 應用程序。

 Azure 是怎樣影響大家 .NET Core 計劃的呢?

Hunter:Azure 不會直接影響咱們的 .NET Core 計劃。可是,咱們但願確保 .NET Core 是構建雲原生應用程序(包括微服務和基於容器的應用程序)的最佳平臺。傳統上,咱們大多會認爲 .NET 是使用在 Web 和桌面 UI 上下文中的,咱們但願改變你們的這種見解。雖然你們如今能夠構建此類應用程序,可是咱們並無明確說明。咱們將爲構建 Worker Service 項目提供 .NET Core 3.0 和模板。咱們但願該平臺能夠支持診斷和調試,即便你是在雲上以超大規模運行應用程序。

 你最喜歡 .NET Core 的哪些部分,以及在將來你但願它什麼地方有所改變?

Hunter:對於 .NET Core,我最喜歡的部分多是 CLI(命令行界面)、跨平臺支持和開源。僅僅依靠一臺基於 Windows、Mac 或 Linux 的機器,跳轉到 CLI 並使用你選擇的編輯器構建一個應用程序,這在過去是你不會想用 .NET 來作的事情 。此外,可以訪問 GitHub 並觀看由微軟和社區共同開發的產品也是很好的。向前看,我老是爲 .NET 啓用新的工做需求而感到興奮。我對 AOT(Ahead of Time Compile,提早編譯)感到興奮,它將爲你提供相似於 Go 語言的小型本機高性能應用程序。

 .NET Core 成爲 OSS 有什麼驚喜嗎?

Hunter:咱們在 2014 年開源了 .NET Core,這對咱們來講在開源領域彷佛已經很晚了。咱們不肯定社區是否會支持這一運動,可是有超過 3700 家微軟以外的公司作出了 60000 多份貢獻,這一運動取得了成功。爲了使 .NET Core 成爲最快的框架之一,社區作了大量的工做。

 全部這些對 .NET 框架意味着什麼呢?

Hunter:.NET 框架是 Windows 操做系統的一個組成部分。Windows 依賴於它,微軟的許多大型產品和服務也依賴於它,此外還有數百萬的客戶應用程序也在使用它。由於在 Windows 上只能安裝一個版本,因此它有一個要求很是高的兼容性條欄,而且咱們能夠在其中進行有限的更改。對於它的 bug、性能、安全性和將來的標準,咱們將持續更新。將來的創新將發生在 .NET Core 中;該平臺的並行特性使咱們可以快速移動它,且不會有破壞應用程序的風險。

 對於在項目中沒有使用 .NET 和 C# 的開發人員,爲何應該關注 .NET Core 呢?

Hunter:今天,許多開發人員選擇使用最適合於對應工做的可用工具。若是你看看 TechEmpower 基準測試,會發現 .NET Core 是最快的框架之一。它是由 C# 語言驅動的,C# 具備諸如異步 / 等待等使人驚歎的特性,可使異步編程變得更容易(而且許多其餘平臺已經複製了它),而且它還支持 F# 函數語言。它也有一些很棒的開發工具,不管是 Visual Studio for Windows、Visual Studio for Mac、Visual Studio Code,仍是 Jet Brains Rider,都很棒。

 關於 .NET Core 2.二、3.0 及更高版本,還有什麼須要注意的嗎?

Hunter:咱們談了不少關於通用平臺和一些 .NET 的歷史。在 .NET 中還有一些其餘使人興奮的開發,好比 Blazor,它是一種編程模型,容許開發人員在服務端或客戶端都能使用 .NET 構 Web 應用程序。在客戶端,咱們將 .NET 編譯成 Web Assembly,以便在瀏覽器中得到原生速度,並在客戶端和服務端上都具備 .NET 的全部強類型。咱們還經過 ML .NET 在 .NET 中添加了對機器學習的支持 ,ML .NET 是咱們的開源 .NET 機器學習庫。這項技術已經在微軟產品中使用不少年了,如今咱們正在向公衆開放。

相關文章
相關標籤/搜索