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互联网公司架构方面的课程,想了解的鹏友请关注我的头条号,推出之后会第一时间通知大家。
相关资讯
最新热门应用
非小号交易平台官网安卓版
其它软件292.97MB
下载
币交易所地址
其它软件274.98M
下载
iotx交易所app
其它软件14.54 MB
下载
zt交易所安卓最新版
其它软件273.2 MB
下载
币拓交易所bittok
其它软件288.1 MB
下载
u币交易所平台app
其它软件292.97MB
下载
热币全球交易所app官网版
其它软件287.27 MB
下载
多比交易平台app
其它软件28.28MB
下载
币赢交易所app官网安卓版
其它软件14.78MB
下载
toncoin币交易所安卓版
其它软件48MB
下载