# Outline
一、前言
二、歷史簡表
三、結語
A、參考資料
B、獨立時間表
C、延伸話題
# TL;DR
2014 年是 Microsft 擁抱開源的開始,也是 .NET 透過 .NET Core 走向開源社群與跨平台的起點。
身為一個歷史系背景出身的資訊人,再講技術時順便提到歷史也是很正常的事,對吧?XD
—— Day 27
Microsoft 近年來開始往開源與跨平台的方向前進,.NET Core 就是其中一項專案,儘管因為起步晚至今生態系仍不如其他早已開源的語言與框架蓬勃,但是穩定且快速的節奏、開放的文化以及 C# 既有的傑出特性,都是讓我們值得其接下來的發展。
在往前邁進前,不妨先回頭看看 .NET Core 的發展沿革,讓我先透過這段歷史了解現有生態的背景以及改革過程,或許能讓我們更能知道如何一起跨進這個新領域,並且調整好心態,擁抱變化與開放文化。
不過我畢竟不是從 .NET Framework 1.0 就開始打滾的資深 C# / .NET 開發者,所以這篇可能無法以經驗的角度切入,比較多的是透過瀏覽網路前人們的文章所做的整理與研究。
基本上 2014 年,Microsoft 開始擁抱開源文化算是一個分水嶺,自此 .NET Core 開始開發,也陸續推出了 Visual Studio Community 和 Visual Studio Code 對開發者釋出善意,甚至在去年併購了 GitHub。
.NET Core 就是在這樣的變革下開始的,不僅開源、還跨平台。其中跨平台更是讓 .NET Core 在持續整合與交付上跨出一大步,畢竟現在多數的 CI 工具以及虛擬化技術都是以 Linux 為主流。.NET 的既有的開發文化開始與開源文化進行接觸、碰撞、交流,這之中必定會對既有的開發習慣產生衝突,但卻也為 .NET 開發圈開啟了新的一頁,尤其是對於長居於 Unix-like 的 C# 開發者來說,能使用 C# 開發跨平台的程式是一件興奮的事!
以軟體開發與軟體工程史的長河中,從 .NET Core 誕生到現在也不過五年時光,整個生態系還不能說是成熟,很多 .NET 開發者也還停留在 .NET Framework 的觀念,甚至仍然不習慣離開圖形化介面,更別提離開號稱地表最強 IDE 的 Visual Studio。如何在脫離 Visual Studio 後,使用 .NET Core CLI 搭配 NuGet 套件,透過 CI 工具進行持續整合、交付與部署,便是本系列文想在這個過渡期中,嘗試為台灣的 .NET 開發社群帶來的貢獻。