一、.NET Core的誕生 聊 .NET Core,就不得不說他的爸爸 .NET。當年Java剛剛興起,如火如荼,微軟也非常推崇Java,當時Windows平臺的Java虛擬機就是微軟按照JVM標準實現的,據說也是當時性能最好的Java虛擬機。但是微軟也是有私心的,微軟總想搞點Windows平臺上 ...
一、.NET Core的誕生
聊 .NET Core,就不得不說他的爸爸 .NET。
當年Java剛剛興起,如火如荼,微軟也非常推崇Java,當時Windows平臺的Java虛擬機就是微軟按照JVM標準實現的,據說也是當時性能最好的Java虛擬機。但是微軟也是有私心的,微軟總想搞點Windows平臺上的特性,有點想把Java綁定到Windows平臺上的味道,另外Sun公司確實有點小心眼,於是Sun公司就跟微軟鬧掰了,然後微軟就推出了
.NET,.NET從出生開始其實就借鑒了Java,然後又一步步在語言特性、窗體開發等方面實現了超越。Java在1.6版本以後發展緩慢,後面Java也在語言特性上借鑒了.NET。當然,這也是由於Sun公司不太爭氣。https://www.zhihu.com/question/22814456
.NET雖然一直發展的不錯,也有WPF、Unity3D這樣具有競爭力框架的出現。
但是.NET平臺在一些較大的項目,尤其是不受互聯網公司的喜愛。就是因為.NET不是開源的框架,也不是可跨平臺的框架,那就會帶來以下問題:
- 錢:選擇.NET就要選擇Visual Studio,Windows Server,license是不可忽視的成本
- 生態:沒有來自於社區的貢獻,那.NET沒有誕生優秀框架的土壤
縱使有Mono這麼強大的框架,可以讓 .NET 跑在Linux上,但是這還不夠。
畢竟Mono只能發揮.NET部分有限的能力
另外,馬上容器時代都要來了,跟Windows的強依賴,如何上Docker?
當然這這是ken能看到的一部分原因吧,總之,形式所迫,擁抱變化,.NET Core應運而生。
二、.NET core 與 .NET Framework的區別
.NET Core 就是.NET Framework的區別的開源且跨平臺版本
.NET Core 雖然是.NET Framework的開源版本,但微軟畢竟不能維護兩個不同的分支
一個跑在Windows上,一個跑在Linux(Unix Like)系統上,所以微軟抽象出來一個標準庫
.NET Core 與 .NET Framework 都必須實現標準庫的API ,就這樣.NET Core、.NET Framework、XAMARIN成了三兄弟,分別為不同的平臺服務。
現在.NET Core 2.0 版本已經發佈,.NET Core 2.0 基本等於 .NET Framework 4.6.1,從2016年6月 1.0發佈到2017年6月 2.0發佈,僅僅1年,達到這種程度,可見微軟還是很給力的
三、學習 .NET Core需要做哪些準備?
- 基礎的編程經驗(.NET、Java、Python等皆可)
- Windows / Mac 作為開發環境
建議Windows,因為ken的開發環境是Windows,環境不同,操作會有差異
- IDE:Visual Studio 2017 / Visual Studio Code
- Linux 基本使用(推薦 CentOS、Ubuntu)
虛擬機安裝教程:https://ken.io/serie/hyper-v-courses
CentOS快速上手:https://ken.io/serie/centos7-quickstart
Ubuntu快速上手:https://ken.io/serie/ubuntu-quickstart
如果實在不具備搭建Linux環境的條件,Windows也可以,但是不推薦
隨筆首次發佈:2017-07-13
隨筆原文鏈接:https://ken.io/note/dotnet-core-qucikstart-preface