.NET Core Roadmap

這篇文章是由 Scott Hunter 撰寫。

 

從我們釋出 .NET Core / ASP.NET Core 1.0 已經兩個多禮拜了。開發團隊利用這兩個禮拜喘息了一下,而現在開始規劃未來將要做的事。我們已經看到很多 .NET Core SDK 的下載與非常多的回饋。請持續給予我們回饋。 

以下是一個粗略的時間表,來看看未來將會有什麼改變。請注意,這些日期是團隊目前努力的目標,但有可能會改變。

 

1.0.1(~2016 八月)

我們正在積極地監測 1.0 版本中要包含到 .NET Core SDK 1.0.1 版本的問題。這個補丁更新並沒有確切的時間,但有可能會在八月初的時候。以下是幾個我們正在研究的首要問題:

  • donet build 的效能改善,將會改善 ASP.NET Core 的發佈時間。
  • 更新 F# 的 dotnet new 模板,讓它們在 .NET Core 上使用最新的 F# alpha 版本。
  • 根據 Crash 遙測狀況對工具的多項修補。

Q4 2016 / Q1 2017

這將會是一個很小的更新,主要重點是在用 .csproj/MSBuild 替代 .xproj/project.json。專案格式的更新應該會是自動的,只要打開一個 1.0 的專案就會將它更新為新的格式。除此之外,在 runtime 與函式庫也會有新的功能與改進。

.NET Core 1.0 包含了一個 .NET Core Tools 的 preview 版本,叫作「Preview 2」。這個工具是「preview」主要因為我們知道我們會改變工具的體驗在 1.0 之後。在這個版本中 .NET Core 與 .NET Core Tools 都將是「RTM 等級」或「stable」。

.NET Core 工具

  • 支援 .csproj/MSBuild 專案系統
  • dotnet restore 改善,不重建 .NET Core 中的套件
  • 管理機器上架構的新指令
  • dotnet publish 為了最佳的發佈大小,將會只發佈必須的 dependencies。

語言(可用於 .NET Framework 與 .NET Core)

下一個對於 .NET 語言的版本將會應用於所有 .NET 平台。以下是一個簡短的總結有關於這版本的功能:

  • 把函數程式語言的概念帶入 .NET 語言
    • Tuples
    • 模式比對
  • 效能與程式碼品質
    • Value Tasks
    • Ref returns
    • Throw expressions
    • Binary literals
    • Digit seperator
  • 開發者生產力
    • out 變數
    • 區域函數

這些功能都將可以在 C# 7 中使用。VB 15 也將會實作所有影響語言 interop 的功能(tuples、ref returns 等),但有些功能會在下一次的語言更新(例如:模式比對),或並不在 roadmap 中(例如:區域函數)。

除了 C# 與 VB 之外,我們也會釋出一個新的 F# 語言的版本。 F# 4.1 將會包含像是下面這些東西:

  • 完全支援 .NET Core
  • 更好的 IDE 體驗,在工作區支援的 F# 語言服務
  • 新的語言功能,例如 Struct Tuples 可與 ValueTuple 互相操作,更多的支援,像是 structs的型態註解,fixed 關鍵字以及更多

ASP.NET Core

  • Web Sockets
  • URL Rewriting Middleware
  • Azure
    • App Service 啟動時間改善
    • App Service 記錄提供者
    • Azure 金鑰保存庫提供者
    • Azure AD B2C 支援
  • 容器與微服務
    • Service Fabric 支援透過以伺服器為基礎的 WebListener
    • MVC & DI 啟動時間改善
  • 預覽
    • SignalR
    • 檢視頁面(不用 MVC Controllers 檢視)

.NET Core Runtime 與函式庫

  • ARM 32/64
  • 更多 Linux 的發佈(從原始碼建置)

Entity Framework Core

  • Azure
    • 瞬態錯誤處理(彈性)
  • 對應
    • 自訂類型轉換
    • 複雜類型(value objects)
    • Entity entry APIs
  • 更新管道
    • CUD 預存程序
    • 更好的批次處理(TVPs)
    • Ambient transactions
  • 查詢
    • 穩定性、效能
  • 移轉
    • 種子資料
    • 穩定性
  • 反向工程
    • 多元化
    • VS 物件模板(UX)

 

Q1 2017 / Q2 2017

這個版本將會把許多消失的 API 加回 .NET Core,包含網路功能、序列化、資料等等。.NET 的多種風貌,是大量的通用 BCL 程式碼而且限制在應用模型 (WinForms, WPF, ASP.NET 等) 之中。這些 API 將會是 .NET Standard 2.0 的一部分,將會同時被釋出,讓 API 可以在 .NET Framework、.NET Core 與 Xamarin 保持一致性。而撰寫可攜式程式碼,可以執行在所有主要針對 .NET Standard 2.0 的 .NET 平台將會更容易。期望在我們釋出 Q4/Q1 版本之後可以開始看到這個工作的預覽版。

 

更好的溝通

我們希望團隊在做的事可以更加透明化。為了做到這點我們計劃更頻繁在這個部落格上更新團隊的訊息。以下是未來標題的粗略清單:

  • .NET Core Roadmap(本文)
  • ASP.NET Upcoming Highlights
  • Entity Framework Upcoming Highlights
  • .NET CLI Upcoming Highlights
  • Support and Versioning .NET Core
  • Telemetry in .NET Core
  • .NET Standard
  • APIs Returning
  • Project Conversion from project.json to .csproj

下週我們希望展示一些例子有關 .csproj/MSBuild 的轉換,與 ASP.NET、EF 或 .NET CLI 其中之一的新功能深入剖析。

謝謝您讀完這些,請持續給予我們回饋!

 

本文翻譯自 .NET Core Roadmap


 

netcore

若對以上技術及產品有任何問題,很樂意為您服務! 請洽:台灣微軟開發工具服務窗口 – MSDNTW@microsoft.com / 02-3725-3888 #4922