今天,Scott Hanselman在其博客上宣佈《ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0》,ASP.NET 5已經被判死刑,Scott在其中也解釋了改名的根本原因:之前稱之為“ASP.NET 5”確實讓人...
今天,Scott Hanselman在其博客上宣佈《ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0》,ASP.NET 5已經被判死刑,Scott在其中也解釋了改名的根本原因:之前稱之為“ASP.NET 5”確實讓人感覺這是ASP.NET 4.6的升級版,比其功能更加強大,未來會替代ASP.NET 4.6。其實不是的,因為“ASP.NET 5”是另起爐竈開發,和 ASP.NET 4.6是並行獨立的關係。
所在現在的名字變動如下:
- ASP.NET 5 –> ASP.NET Core 1.0
- .NET Core 5 –> .NET Core 1.0
- Entity Framework 7 –> Entity Framework Core 1.0
這樣的重命名可以讓人(特別是.NET 圈子之外的人)馬上瞭解到這個技術棧是微軟在Web開發領域的一個“重新出發”,他們之間的關係以及和之前技術的關係如下圖所示:
為了達成跨平臺目標,微軟開發工具部門在發佈了 .NET 4.5 和 ASP.NET 4.5 之後花了相當長的時間來構架下一代網站開發技術。在這個超過兩年的漫長過程中,以下幾個目標逐漸清晰,這次改名讓這幾個目標更加明白的展現在你的面前:
- 採用新思路來重新設計框架基礎。這方面向 node.js 學習不少。
-
採用全新技術,主要是 Roslyn。
-
脫離 .NET Framework 的束縛實現跨平臺
那麼,我們如何做出選擇呢?其實也很簡單:
- 如果你是重新開發全新的Web應用,而且打算跨平臺運行,那麼首選ASP.NET Core,這次改名後,就快發佈了,還好在正式發佈之前進行改名,改名是一個我們開發軟體時候最難做的事情,看看自己寫的代碼就知道,有時候發佈出去了只能將錯就錯;
- 如果你希望做更多事情,使用更多語言(VB和F#)和技術,穩定成熟比較看重,也希望獲得微軟官方支持,那麼選擇ASP.NET 4.6,如果不需要獲得微軟的官方支持可以選擇使用Mono 4.2+,這裡為大家推薦MVP 李楊的文章 《Jexus 網站伺服器和 ASP.NET 跨平臺開發》,這篇文章也發表在公眾號“dotNET跨平臺”上。