我要來分享我使用.NET6 開發RESTFUL API,並且使用gitlab完成CICD。
先簡單介紹什麼是.NET
.NET是Microsoft 創建的一個免費、跨平台、開源的開發平台,可以用於開發許多不同類型的應用,例如Web、App、AI、遊戲、IoT 等。
圖片取自於微軟官方網站
常常我們會聽到.NET、.NET Framework、.NET Core、ASP.NET、ASP.NET Core,這些看起來相似的詞彙,實際上它個別代表著不同的意義,我們可以來看看官方怎麼定義這幾個名詞。
.NET
一般而言, .NET是 .NET Standard 和所有 .NET 實作和工作負載的一般詞彙。
更具體來說,.NET 是指建議用於所有新開發的 .NET 實作: .NET 5 (和 .NET Core) 和更新版本。
例如,第一個意義適用于「實作 .NET」或「.NET 開發平臺」等片語。第二個意義適用于 .NET SDK 和 .NET CLI等名稱。
.NET 一律會完全大寫,永遠不會是 「.Net」。
這個 .NET 實作的舊版稱為 .NET Core。 .NET 5 是下一版的 .NET Core 3.1。 已略過第 4 版,以避免將此較新的 .NET 實作與稱為.NET Framework的較舊實作混淆。 目前版本的 .NET Framework 為 4.8。
.NET Core
請參閱 .NET 5 和更新版本。.NET 5.0 與更新版本
.NET 的跨平臺高效能開放原始碼實作。 也稱為 .NET 5+。 在開發) 中包含 Common Language Runtime (CLR) 、 AOT 執行時間 (CoreRT、基類庫 (BCL) ,以及 .NET SDK。
這個 .NET 實作的舊版稱為 .NET Core。 .NET 5 是下一版的 .NET Core 3.1。 已略過第 4 版,以避免將此較新的 .NET 實作與稱為.NET Framework的較舊實作混淆。 目前版本的 .NET Framework 為 4.8。
.NET Framework
只在 Windows 上執行的 .NET 實作 。 包含 Common Language Runtime (CLR) 、基類庫 (BCL) ,以及應用程式架構程式庫,例如ASP.NET、Windows Forms 和 WPF。
ASP.NET
隨附于 .NET Framework 的原始 ASP.NET 實作,也稱為 ASP.NET 4.x。
有時,ASP.NET 是參考原始 ASP.NET 和 ASP.NET Core的一個涵蓋範圍詞彙。 該詞彙在任何指定的執行個體中所代表的意義取決於內容。
ASP.NET Core
ASP.NET 的跨平臺高效能開放原始碼實作。
所以看完從官方的解釋之後我們可以知道,一般來說我們.NET6 是指現在平台的版本,ASP.NET與ASP.NET Core跟.NET又不太一樣。我們可以從「這個 .NET 實作的舊版稱為 .NET Core。 .NET 5 是下一版的 .NET Core 3.1。 已略過第 4 版,以避免將此較新的 .NET 實作與稱為.NET Framework的較舊實作混淆。 目前版本的 .NET Framework 為 4.8」這個官方的解釋中,可以知道.NET Framework 跟 .NET Core 又是分開的, .NET舊版稱作.NET Core,而.NET Core 3.1之後就是慢慢就稱作.NET 5/6/7
如果你看完還是沒懂的話,沒事!我還準備了.NET Core 和 .NET Framework的架構圖
圖片取自於微軟blog
從架構圖可以看出來,其實ASP.NET 是在.NET Framework、.NET Core裡面的東西
所以我們已經可以知道,這基本上.NET Framework 和 .NET Core是.NET過去不同零碎的版本,我們可以來看一下底下這張圖你會更清楚了解。
圖片取自於微軟官網
不過現在的.NET6/.NET7 現在都有整合了過去這些零碎的版本,目前.NET最新出到.NET7但是偶數版本才是長期支援的版本
圖片取自於微軟官方網站
.NET的應用程式可以使用多個語言開發,這邊我會選擇用C#程式語言開發,使用ASP.NET Core框架開發Web API。
今天先簡單介紹到這邊,對.NET有個簡單的認識,明天我們會來介紹什麼是ASP.NET Core。
參考資料
微軟官網.NET詞彙
微軟官網.NET
微軟官網 - 在 ASP.NET 4.x 和 ASP.NET Core 之間進行選擇
微軟官網 - .NET and .NET Core Support Policy
微軟官網 - 適用于伺服器應用程式的 .NET 與.NET Framework