前言
從今天我將會寫.net core實戰系列,以我最近完成的短信服務作為例子。該系列將會盡量以最短的時間全部發布出來。源碼也將優先開源出來給大家。
源碼地址:https://github.com/SkyChenSky/Sikiro.SMS
.NET CORE簡介
ASP.NET Core 是一個跨平台的高性能開源框架,它不是ASP.NET Framework延伸,而是重生,存在質的區別。不得不誇微軟,使ASP.NET Core開源是一大進步就是,其源碼可以在github上搜索到。其代碼的透明度可以為大家更好的把控與理解,並且使大家開發.NET Core的項目有更好的完成度。
ASP.NET Core的出現為了擺脫.NET Framework十多年來的Windows系統下的束縛,其開源也是為了建立更好的技術生態環境。
如今,你可以跨所有平台,任意的在Windows、Mac和Linux等設備上開發並且運行你的 ASP.NET Core 應用。當然你也可以用你喜愛的托管程序( IIS、Nginx、Apache、Docker )進行部署
.NET CORE版本歷史
| 版本 |
發布時間 |
|---|---|
| 1.0 RC1 |
2016年2月15日 |
| 1.0 RC2 |
2016年5月16日 |
| 1.0 |
2016年6月27日 |
| 1.1 |
2016年11月16日 |
| 2.0 |
2017年8月14日 |
| 2.1 |
2018年5月30日 |
了解一個技術本質就是追溯他的發展歷程。
- 2016年1月ASP.NET5 改名 ASP.NET Core 1.0
- 2016年6月ASP.NET Core 1.0正式發布,與其一起的還有.NET Core Runtime,.NET Core SDK,.NET Core Windows Server Hosting,Entity Framework Core 1.0。
- 當時我並沒有優先吃螃蟹,因為經驗告訴我,微軟的1.0版本的項目更多的是了解與學習。因為還有很多大量的優秀的開源組件並沒及時支持。
- 2016年8月,伴隨着Visual Studio 2017 15.3發布,ASP.NET Core 2.0的出世沖擊着我們整個.NET。
- 當時我也優先以管理后台作為了一個小項目試行,當項目開始不到一半,經驗又告訴我,ASP.NET Core已經可以完完全全開發正式的項目了。
.NET CORE優勢
跨平台
可以隨時在Windows、Mac和Linux上開發並部署你的項目。
多工具選擇
Visual Studio Code、Visual Studio、Jetbrains Rider
高性能
更高的效率,更小的內存占用。雖然我沒親自測試過,不過網上很多測試數據。
靈活部署
ASP.NET Core不再是基於System.Web.dll,不再需要依賴IIS與windows, IIS、Nginx、Apache、Docker供你選擇
命令行工具
.NET程序所有的運行腳本都可以用命令行工具執行(cmd,bash),因而無需花費更多的時間成本重復學習。
| 指令 | 幫助 |
|---|---|
| dotnet new | 產生新的基本 .NET 項目內容 |
| dotnet restore | 還原所參考的 NuGet 包 |
| dotnet build | 建造 .NET 項目 |
| dotnet publish | 產生可發行的 .NET 項目 |
| dotnet run | 編譯與立即運行 .NET 項目 |
| dotnet repl | 引導交互式的對話 |
| dotnet pack | 將項目的產出封裝成 NuGet 包 |
模塊化
按需使用組件包,使你的應用程序更新的高效、輕便、健壯。
結束
自2016年的.NET CORE誕生,我們見證了微軟一步步的改變與進步,前段時間花了巨資收購了GitHub(不知道他在下一步什么棋)。雖然身邊很多原本用.NET的公司轉型了JAVA,然而這個世界的本質其實就是一個周期變動與輪回。
我們不求跟風,但願精益求精
