前言
打開電腦,想寫一些筆記,本來應該寫關於技術的分享,突然想起今日一個初學者(其實我也剛入門不久)問我,什么是ASP.NET CORE ?於是就有了今晚這篇文章。
.NET 平台的發展歷程
(1)2010之前 的PC時代的時候,互聯網規模還不是特別龐大, JAVA和.Net沒什么太大區別,.net以windows自居。
(2)2010年以JAVA為代表的Hadoop大數據興起后,微軟跟進失敗,曾今也實現了一套api,但后來還是放棄維護了。
(3)2012年移動互聯網興起,.net跟進失敗。wp(windows phone)市場占有率太低,微軟就放棄了。
(4)2014-2015 微服務時代的來臨,以go為代表的docker技術,python為代表的devops,java的spring cloud技術興起,微服務造就了多語言的盛行,微軟還想維護的windows平台占有率,不想改變。
(5)2014年雲計算事業部副總裁薩提亞·納德拉出任微軟CEO,改變微軟企業文化,開始開源、擁抱linux。
【2014年2月4日,微軟公司宣布由薩提亞·納德拉接替史蒂夫·鮑爾默,成為下一任首席執行官】
(6)2015年微軟對.net 平台進行了重新架構。
(7)2016.6.27 netcore 1.0 項目發布,徹底的改變了 windows only的場景,擁抱開源。這個版本不穩定。
之后發展很快,有.Net Core1.1,.Net Core2.0,.Net Core2.1,.Net Core2.2。現在已經推出了.net core3.1。並且推出.net 5預覽版,.NET 5講統一.net core 與.net framework。
微軟為什么出.NET Core,錯過了幾個風口,新任納德拉CEO全新改版。據說不再維護.NET Framework,只維護.NET Core。
現在跨平台好了,原來假如對方的服務器就是Linux,你就沒法用.Net開發了,現在沒問題了。
.Net Core的優勢
(1)開源、跨平台:.NET Core 是開放源代碼通用開發平台,由 Microsoft 和 .NET 社區在 GitHub 上共同維護。 它跨平台(支持 Windows、macOS 和 Linux),用於構建web應用、IOT應用和移動后端應用。
(2)性能優越。據.net core團隊給出來的性能測試數據來看,Asp.net core(.net core)相比與原來的Web(.net framework 4.6) 程序性能提升了2300%。跟python、java等相同環境比較,性能都要優越。在 Techempower 的 Web 框架性能測試排行中,在 主流框架的各項性能對比中 ASP.NET Core 都遙遙領先
(3)內置依賴注入
(4)輕量級和模塊化的HTTP請求管道(中間件)
(5)能夠在IIS上運行或在自宿主(self-host)的進程中運行。
總結
作為一個毫無編程經驗的小白,初識ASP.NET CORE一定會被他各種機制包括依賴注入,中間件,管道,以及隨處可見的C#高級編程語法系嚇住。其實學任何一門技術都一樣,性能優越的框架,底層肯定有着十分精妙的設計,要理解起來並不容易。萬事開頭難,相信但凡有一個月的專研(針對純小白),從數據庫的操作到前端數據的交互邏輯就會有清楚的思路,並且能依靠框架做出一些基本的功能模塊。對於.net ,很多java程序員並不看好,但是我相信真正去用了這門技術以后,一定逃脫不了“真香定理”,一定會被其的優美,高效所着迷。