2018 年5月8日淩晨,在微軟一年一度的Build大會上,微軟發布了 Azure 雲、AI、物聯網等很多方麵的東西。由於.Net Core是可以跨windows、Linux等平台的技術,也是為微服務等架構奠定基礎,因此很多程序員鵬友向我問關於.Net Core變化的詳細解讀,比如“Winform是不是跨平台了”之類的,因此我隻就.Net Core部分的變化做我個人的粗淺的解讀。
1、.Net Core 3.0支持WinForm、WPF等桌麵UI庫。
.Net Core 3.0將會在2019年發布(一下子就給我們指到一年後了呀)。並不是表明可以在Linux等平台下用.Net進行WinForm、WPF的開發。因為微軟明確說了,這個是“Windows Only”的。

微軟應該也沒有計劃開發跨平台的UI庫,因為畢竟桌麵軟件的時代已經過去了,大部分行業都用不到WinForm、WPF等這些桌麵開發技術了。
在特殊領域如果要開發跨平台的桌麵程序,對於UI性能要求高的地方可以用QT這個目前最成熟、最流行的跨平台UI框架。當然QT是C++寫的,Python下有成熟的PyQT庫,希望能有QT高人來做QT for .net core的binding庫。
如果開發類似QQ桌麵版、網易雲音樂桌麵版、有道雲筆記桌麵版或者一些管理軟件桌麵版的話,由於這些軟件對UI性能要求不高,但是對於開發效率、更新升級要求高,那麼可以使用Electron(跨平台的開發工具Visual Studio Code就是用類似技術開發的,連桌麵版QQ等很多地方其實都是用類似技術實現的)等技術,當然這是用JavaScript+HTML去寫的,一部分頁麵可以放到服務器端用.net core去寫,這類似於手機中的混合App開發,升級、AB測試、灰度發布什麼的都方便很多。

2、.Net core在IIS中運行時候支持托管方式運行
之前.Net Core網站在IIS中運行,其實IIS隻是充當一個反向代理的作用,沒有用到IIS的托管支持。新版.Net Core中將支持像普通.Net Framwork網站一樣用托管方式運行。
我個人其實感覺這個特性很沒有卵用(僅是個人觀點),用.net core就是為了Linux。IIS隻能跑在Windows下,微軟應該也沒有考慮把IIS移植到Linux的打算。作為“服務器就要用Linux”這已經成為一個“政zhi正確”的口號,已經不需要討論這個口號是對還是錯了,大環境如此,改變很難。

3、SignalR for .net core即將發布
.net core版的SignalR 已經處於RC版狀態,應該很快就要發布正式版了。
現在的網站或多或少都要用到“服務器推送”技術(站內消息、彈幕等等),而SignalR 是實現這個非常方便的技術。我一直期待.net core版的SignalR很久了,一旦發布我們也將會在我們自己的如鵬網中第一個使用。
4、Entity Framework Core(簡稱EF Core)支持延遲加載
之前的EFCore隻支持通過Include顯示加載導航屬性,不能使用EF中的延遲加載(LazyLoad),新版EFCore將支持延遲加載,這個特性默認關閉,需要手動打開。
我個人也無視這個新的特性,在如鵬網項目以及我講課的時候,我都是強烈不建議使用延遲加載的。因為使用延遲加載一個不小心就會造成性能的問題,要用啥關聯對象應該自己明確的去Include,如果一個程序員都不知道自己要取啥對象,這是很危險的。
Less is more,真希望微軟不要支持延遲加載這個破玩意,否則“EFCore性能差”這樣的屎盆子又會被人扣上頭了!

5、EFCore支持TransactionScope
有了TransactionScope在EFCore中就能更容易的實現嵌套事務了,畢竟複雜的係統中代碼調用層級會很複雜,在對數據完整性要求高的場合,需要一個嵌套事務來確保數據的原子性。
OK,這就是我對微軟2018 Build大會關於.Net Core的新特性的理解,如果有欠缺的地方請各位評論指正。
近期我會推出一個關於.Net互聯網公司架構方麵的課程,想了解的鵬友請關注我的頭條號,推出之後會第一時間通知大家。
相關資訊
最新熱門應用
熱幣網交易所app官網版安卓
其它軟件287.27 MB
下載
必安交易所app官網版安卓手機
其它軟件179MB
下載
龍網交易所安卓版
其它軟件53.33M
下載
雲幣網交易所蘋果app
其它軟件14.25MB
下載
幣u交易所鏈接
其它軟件150.34M
下載
唯客交易所安卓版
其它軟件59.95MB
下載
比特港交易所app官網
其它軟件223.86MB
下載
gdax數字交易平台
其它軟件223.89MB
下載
中幣交易所app官方
其它軟件288.1 MB
下載
中幣交易網
其它軟件287.27 MB
下載