UWP 智机网 新闻 查看内容

细说微软2018Build大会中.Net Core更新的是啥

2018-5-9 12:06| 发布者: LeonLZ| 查看: 18487| 评论: 15 |来自: 智机网论坛

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”的。

细说微软2018Build大会中.Net Core更新的是啥

微软应该也没有计划开发跨平台的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正确”的口号,已经不需要讨论这个口号是对还是错了,大环境如此,改变很难。

细说微软2018Build大会中.Net Core更新的是啥

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的新特性的理解,如果有欠缺的地方请各位评论指正。

via: item.btime.com
智机网UWP工具
发表评论

最新评论

2楼 asizel   2018-5-9 12:22:53
谢谢分享  
回复     支持     反对
3楼 TonyDeng   2018-5-9 12:46:34
个人看法而已
回复     支持     反对
6楼 夏王窦逗   2018-5-9 18:12:26
看看就好
回复     支持     反对
8楼 夏王窦逗   2018-5-9 18:12:48
看看就好
回复     支持     反对
4楼 夏王窦逗   2018-5-9 18:12:53
看看就好
回复     支持     反对
7楼 夏王窦逗   2018-5-9 18:12:58
看看就好
回复     支持     反对
5楼 夏王窦逗   2018-5-9 18:13:00
看看就好
回复     支持     反对
9楼 夏王窦逗   2018-5-9 18:13:01
看看就好
回复     支持     反对
10楼 artfly08   2018-5-10 07:57:32
专业,支持
回复     支持     反对
11楼 虫出江湖888   2018-5-10 16:58:38
支持支持支持
回复     支持     反对
12楼 artfly08   2018-5-10 18:56:29
专业,支持
回复     支持     反对
13楼 artfly08   2018-5-12 08:41:55
学习
回复     支持     反对
14楼 tmp00000   2018-5-12 15:58:57
跨平台 UI 我正在用 Xamarin.Forms。目前正在交涉添加 VB 支持的问题,这样可以移植很多 Windows 应用。
回复     支持     反对
15楼 chenyi2006520   2018-5-14 09:27:12
本帖最后由 chenyi2006520 于 2018-5-14 09:28 编辑

哈哈 ,转载了这么多次
回复     支持     反对
16楼 zjjhot   2018-5-17 13:30:17
感谢分享
回复     支持     反对

查看全部评论(15)

一周要闻
            

    网站地图| 小黑屋|京ICP证150706号|京B2-20160045|京网文[2018]3705-313号| 京公网安备11010802018258号

    Powered by Discuz! X3.4 / Copyright 2010-2017 © 智机网 WFUN.COM Inc. All rights reserved.

    返回顶部