天天看點

.NET Core 2.1來了!

.NET Core 2.1釋出了,借此機會發發感想。

太棒了!

.NET Core 2.0正式釋出至今已經過去了大半年,這大半年說長不長說短不短,這段時間裡,我是充分地體會到了微軟的誠意,那就是認認真真打造一個優秀的開源平台。這大半年的時間裡,微軟一直在為.NET Core釋出新的更新,每次都進步一點,日積月累至今,終于釋出了.NET Core 2.1,這是一個重大的改進版本。

.NET Core 2.1的釋出時間是2018年5月30日,但考慮到和西雅圖的14個小時的時差,我們這邊的時間應該是5月31日了,而我是得到這個消息後就直奔下載下傳,閱讀更新日志,并把這個最新的架構,應用于目前的項目中,一切非常順利,中間僅僅遇到了點小問題,但很輕松就解決了。跟之前的修修補補相比,這個2.1版本是實實在在給我帶來了一些驚喜:

  1. 編譯性能大幅度提升,編譯并釋出代碼确确實實地快了,這次真沒有吹牛;
  2. ASP.NET Core的響應速度有了顯著提升,打開網頁速度“刷刷刷”,程式在我的Macbook上也“健步如飛”;
  3. 之前編譯的時候會出現一些警告和錯誤資訊,(在官方論壇上确定是編譯器的bug)現在都沒有了,修正了;
  4. ASP.NET Core提供了一些新的Tag及幫助方法,很有用;

當然了,改變絕對不止我提到的這幾點,這幾點僅僅是我能直接感受到的,其它的更新資訊請參考:https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/

微軟宣稱性能有了很大提升,我點我還沒去實證,但從ASP.NET Core的響應速度提升來看,應該是真的。

在确定踩平了可能的“坑”之後,我很快将這個新的架構應用于公司的生産環境中了,一切順滑,而距離正式釋出都沒超過20個小時,于是我在同僚中吹牛說:我們用的技術是最新的!

要使用這個新的開發平台,隻需要下載下傳最新的.NET Core SDK 2.1.300并安裝,其實.NET Core SDK 2.1.x早就有了,但有點誤導人的是,這些2.1.x SDK一直沒辦法将Target Framework設定為.NET Core 2.1,隻能設定為2.0,直到2.1.300才可以。這個下載下傳位址上也能看出來,為什麼這樣安排我也不懂:https://www.microsoft.com/net/download/all

裝好後指令行敲>dotnet --version,確定顯示的是2.1.300,大功告成。

理論上隻要有SDK就可以開幹了,你甚至隻用vim或記事本都可以做項目,然而現實中我們還是得借助強大的Visual Studio 2017,為此,VS2017也要更新一下,更新方法如下圖,打開Notifications面闆,然後就不需要我說了(注:需要的版本為15.7.x):

.NET Core 2.1來了!

在你的項目配置中,将Target Framework設定為.NET Core 2.1,完成!

.NET Core 2.1來了!

一些感觸

2014年初,我離開我的工作機關和朋友一起搞了一個網際網路項目,當時在技術選型的時候我就考慮到底是用什麼?糾結了好一陣子。最後選擇Java,原因是:Java編譯型強類型語言,成熟可靠社群力量大,關鍵跨平台,用起來非常習慣,且Android開發用的也是Java,到時候不用搞兩套人馬。然而,别忘了,那時候.NET Core還在娘胎中,甚至還不叫.NET Core這個名字,.NET有一個叫Mono的開源項目,可并沒有得到微軟官方的支援,如今回頭看這個事情,我100%會選擇.NET Core而不是Java,且我當時的觀點還有些不正确——即便Android用的是Java語言,伺服器端開發與Android端開發還是需要兩套人馬。

關于.NET與Java之争,其實十幾年來一直沒間斷過,當然高手們對此非常不屑,其實我一般也不怎麼提起這個事情,但要是誰說起,我也不回避談談,技術這個東西有時候“吵吵才熱鬧”,有好些東西在和别人“交流”前,自己根本就沒聽說過。現在的公司,也曾經考慮過将.NET換成Java,當時我也和别人争論過,我是持反對意見的,原因就是公司主要力量在.NET上,雖然Java與.NET很像,但又确确實實有很多不同,切換過去是一大工程,我們的開發人員要重新熟悉環境,且Java語言是相對C#難用的,C#的文法特性簡直堪稱完美,我們應該繼續留在.NET體系,我進一步說:“Java能做的,.NET都有對應的實作。”我的反對者則很不屑:“.NET有什麼好的開源報表庫麼?”我确實有點愣住了,從這點看,我的對手确實将了我一軍,但這并不妨礙我們繼續使用.NET,我後來不斷完善和改進我們的“武器庫”, 使得我們的架構日趨完善,适應公司的業務需求。而我堅持使用.NET還有另一個原因,就是.NET Core那時候已經處于整裝待發的狀态了!那時候RC版已經出來,我當然馬上搶先體驗了一把,甚至嘗試把一個小程式移植過去,但我很快發現這個版本确确實實有些欠缺,導緻移植并不怎麼順利,我想,根據微軟一貫的風格,1.0通常是個很不完善的版本,2.0則基本完善,2.0後續的小版本則趨于成熟,.NET Core也是一個道理,是以我沒有立即做全面遷移,但一直關注着.NET Core的發展,直到去年8月2.0正式釋出,這真振奮人心。

使用.NET Core的還有另一個重大理由——Visual Studio,坊間把它稱作宇宙第一的IDE(內建開發環境),反對的人不多。我用過許多IDE,如Eclipse,IDEA,Android Studio,XCode,NetBeans,以及很古老的VC++6等,最強大和好用的還是Visual Studio。如果你覺得VS慢,通常是因為你的電腦太舊,你得配備一台強悍的電腦,花點錢弄上去,或者說服老闆給你配台新機,這才是最省時省力的姿勢,強大的CPU(是以一般我不推薦筆記本電腦),16G以上的記憶體,固态硬碟是必須的(考慮使用最新的Optane SSD吧),這些才是真正的生産力工具,要知道,IDE功能越強大,運作越緩慢,君不見,IDEA的使用者也成天哭慢?相信我,後面對你生産力的提高肯定對得起你對硬體的這點投入。Visual Studio如今已經十分強大,甚至之前一些不屬于“微軟系”的技術也開始被支援了,如直接支援Python、Node.js、Linux C++、Android(基于Xamarin)等開發技術,即便你之前認為反對微軟是技術的政治正确,現在嘗試下Visual Studio,我相信你一定不會後悔。

我不知道還要說什麼,零零碎碎的一點感觸吧。希望.NET Core發展越來越好吧。