BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Build 2018大会:.NET概述和路线图

| 作者 Michael Stiefel 关注 6 他的粉丝 ,译者 刘嘉洋 关注 0 他的粉丝 发布于 2018年5月28日. 估计阅读时间: 7 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!

在Microsoft Build 2018大会上,.NET项目管理主管Scott Hunter和.NET社区主管Scott Hanselman举行了一场有关.NET未来发展的会谈。会谈指出,未来.NET平台将可以搭建任何类型的应用程序:桌面程序、web程序、云程序、移动应用、游戏应用、物联网应用或是人工智能应用。你可以将自己熟悉的编程语言应用到新的领域中来。

.NET的当前状况 
每个月都有接近一百万的新用户在Visual Studio平台使用.NET Framework和.NET Core。由于该软件是开源的,除了Microsoft之外,有来自3700多个企业的19000名社区成员做出了贡献。Samsung将.NET Core应用在ARM32中,并应用于Raspberry Pi。Illlyriad Games在性能方面做出了许多贡献。虚拟.NET Conference将于今年9月12-14日举行,Microsoft和社区成员将讨论有关.NET的许多内容。

.NET Core 2.1候选版本发布。RTM版本有望在5月底发布。Visual Studio的内部构建一直做得很好,因此CLI的构建也将得到改善。ASP.NET Core和EF Core之间的差距越来越少,在提升.NET Framework兼容性的同时也提高了可移植性。ASP.NET Core将完全支持GDPR,对于微服务和Azure的支持也将提升。在发布的时候,.NET Core 2.1工具性能将比现在快10倍。实际上,你还可以继续使用.NET Core 2,然后通过使用.NET Core 2.1工具获得性能的提升。在数据库方面,性能已经得到了大大提升。

为了更好地支持物联网,.NET Core 2.01现在可以运行在Raspberry Pi 2、Linux(Ubuntu 18.04和Alpine 3.7)以及Win 10 IoT,也支持容器。同时,支持Azure IoT Hub。Samsung推出了一款拥有.NET启动屏幕的智能电视。

由于引入了span<T>,.NET Core将提升内存的性能。为了提升速度性能,Sockets进行了重写。ER Core添加了延迟加载、值转换、查询类型以及数据填充。Razor UI成为了ASP.NET Core中的一款库,并添加了对于Azure中SignalR的支持。这款服务实现了完全管理,不需要再担心规模、容量分配或持久连接问题。你也可以使用ASP.NET Core构建本地实时SignalR应用程序。

.NET Core 2致力于Web和云,而.NET Core 3添加了对桌面应用、物联网和人工智能的支持。甚至WinForms和WPF也将运行在.NET Core 3之上。XAML Islands允许WinForms和WPF托管UWP。XAML Controls可以实现WinForms和WPF浏览器以及媒体UWP控制。对于WinForms进行了DPI修复。要做到这个,必须修改WinForms。但是由于在.NET Core中有并排支持,这些需要使用WinForms的应用程序可以和其他对于.NET Core的使用分开。通常来说,并排支持可以保证.NET Core和.NET Framework的单独发展。你也可以单独地开发应用程序。

你可以通过.NET Core访问到所有Windows 10 APIs,比如Win RT。.NET Core App Builder可以让你预编译一个小的应用程序,以实现快速启动,去除所有不用的依赖,创建一个独立的可执行文件。

预计在今年能推出.NET Core 3.0预览版。当然今年晚些时候会发布.NET Core 2.2。

Visual Studio 2017 
在Visual Studio 15.7版本中改善了对重构的支持。包括foreach到for,for到foreach,LINQ查询到for循环,以及var和显示类型之间的转换。15.8版本将给出更多LINQ重构的改善。Editorconfig的改善将在15.7和15.8版本中都有体现。同时,也会在Test Explorer中添加进度图标。

有关Web开发方面,15.8版本中将会大大改善Razor formatting和Razor文件的重构。Kubernetes可以通过一款扩展程序得到支持。你也可以通过一款扩展发布到非容器的Linux应用程序服务。你还可以通过一款扩展发布到Azure容器服务。

Visual Studio for Mac 7.5将支持Razor、 TypeScript和JavaScript。.NET Core不仅支持Azure Functions,还支持基于.NET Standard 2.0的Xamarin.Forms。C# 7.2、EditorConfig和.NET Core 2.1 RC也将被支持。可以预览Team Foundation Version Control。两款IDE都使用相同的代码库。

.NET与机器学习 
Azure Cognitive Services是预先构建的机器学习模块,开发人员可以直接使用。可以通过代码中的REST API使用视觉、语音和语言的模块。你也可以准备好数据,构建训练自定义的模块。除了几种传统的模块构建方式之外,Microsoft还引入了ML.NET,基于例如Bing和Office等内部应用的技术。它可以与其他的AI库,如Accord.NET和CNTK一起工作。已经有预览版可供参考。

Blazor 
Blazor是一款基于Razo和.NET,通过WebAssembly运行在浏览器中的实验性web UI框架。旨在简化可以运行在任何浏览器中快速搭建单页应用程序的工作。你不需要了解AngularJS、 React或Vue等技术,但你可以使用开放web标准在客户端运行使用.NET搭建的web应用程序。Blazor使用Mono版本.NET编译到WebAssembly。它可以利用本地性能运行于所有的浏览器之上。它不需要插件和代码编译转换

查看英文原文Build 2018: .NET Overview & Roadmap

感谢冬雨对本文的审校。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

翻译有误 by 朱 自涛

ER Core添加了延迟加载、值转换、查询类型以及数据填充。

这里应该是 EF Core。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT