ASP.NET 5 完成階段性任務 -- 重新認識 ASP.NET Core 1.0 以及 .NET Core 1.0
這篇文章原始發佈於 Scott Hanselman 的部落格:
https://www.hanselman.com/blog/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx
命名向來就不是件容易的事。
There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton
在計算機科學的領域裡,有兩件最困難的事:「更新快取內容」以及「命名」。 - Phil Karlton (曾參與 SSL v3, X11, OpenGL 等專案)
如果只是紙上談兵地說:「它就應該被稱作: Foo,這樣多簡單!」是很容易的,但是命名這件事往往會牽動許多參與的人,ASP.NET 已經發展了約 15 個年頭,固然是一個很好的「品牌」,ASP.NET 4.6 是目前最新的正式版本,您也能在 https://get.asp.net 網站上取得相關的內容。
但如果我們只是因為 5 > 4.6 ,就繼續用「ASP.NET 5」去稱呼一個幾乎是砍掉重練重寫的 ASP.NET 開發框架,這顯然不是個好主意,這樣也好像在暗示說 ASP.NET 5 比 ASP.NET 4.6 更強大、更完美,甚至能取代它,但事實並不是這樣。
基於這樣的考量,我們決定重新命名。
重新認識 ASP.NET Core 1.0 以及 .NET Core 1.0
- 原先稱作 ASP.NET 5 的部份改為 ASP.NET Core 1.0。
- 原先稱作 .NET Core 5 的部份改為 .NET Core 1.0。
- Entity Framework 7 改成 Entity Framework Core 1.0 或是簡稱 EF Core 1.0。
那為什麼要用 1.0 呢?因為它們的確是新東西啊!包括整個 .NET Core 的概念是全新的,.NET 命令列工具也很新,但是目前 .NET Core 並不像 .NET Framework 4.6 那麼完整,我們還在努力填補這兩者間的差距,包含 ASP.NET 4.6 以及 ASP.NET Core 1.0。
我要怎麼做選擇?
簡單地說,ASP.NET 4.6 是個成熟的平台,它通過經年累月的考驗,您現在就可以直接使用它;而 ASP.NET Core 1.0 雖然已經是以 1.0 版本釋出,包含了 Web API 及 MVC 這些框架,但是還沒有整合 SignalR 或 Web Pages 這些函式庫,同時,ASP.NET Core 也還不支援 Visual Basic.NET 及 F#,這些東西也許在將來某一天都會進入 ASP.NET Core,但起碼現在還沒發生。
我們並不期待開發人員認為 ASP.NET Core 1.0 已經做完了所有的事,這只是個新的開始,並且與 ASP.NET 4.6 各自發展,敬請期待我們在日後推出更多新的東西!