2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 2018-05-27
  • 本文字数:2057 字

    阅读完需:约 7 分钟

看新闻很累?看技术新闻更累?试试下载 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

感谢冬雨对本文的审校。

2018-05-27 14:022417
用户头像

发布了 218 篇内容, 共 73.6 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

Netty高并发处理架构设计介绍

孙大卫

架构 Netty 开发框架 9月月更

找准风口,如何从运维转向 DevOps?

飞算JavaAI开发助手

P8大佬私藏的:微服务与分布式系统实践详解,YYDS!

程序知音

Java 分布式 SpringCloud 后端技术 微服务架构师

《小米创业思考》之一:小米历程

郭明

读书笔记

蒙特卡洛方法与蒙特卡洛搜索树(一)

Joshua

机器学习 算法 蒙特卡洛

长沙!《学习的学问》长沙分享会

博文视点Broadview

行业案例|长安汽车质量管理数据分析实践

Kyligence

质量管理 数据管理 长安汽车

中文稀疏GPT大模型落地——通往低成本&高性能多任务通用自然语言理解的关键里程碑

阿里云大数据AI技术

自然语言处理 多任务 企业号九月金秋榜 GPT

OpenHarmony中的HDF单链表及其迭代器

OpenHarmony开发者

Open Harmony

库调多了,都忘了最基础的概念-《方法篇》

知识浅谈

9月月更

LeetCode-28. 实现strStr()(java)

bug菌

9月日更 Leet Code 9月月更

C语言_2 变量

泾箐

c 9月月更

C语言_3 选择结构

泾箐

c 9月月更

i++需要多少QPS才能测出BUG

FunTester

TOP 5!望繁信科技获评WAIC2022全球创新项目路演优胜项目

望繁信科技

WAIC2022

源于加速,不止加速-阿里云加速引擎的10年演化之路

阿里云CloudImagine

CDN CDN加速 CDN技术

NFT数字藏品介绍:NFT数字藏品(交易平台)系统开发

开源直播系统源码

区块链 NFT 数字藏品 数字馆藏

1分钟了解什么是数据湖?标准的数据湖什么样?

雨果

数据湖

【iOS逆向】某营业厅算法分析

小陈

如何使用Postman调试HMS Core推送接口?

HarmonyOS SDK

移动推送

Linux系统安装配置jdk

Centos 7 jdk8 9月月更

「趣学前端」骨架屏,分享一波前端UI组件开发的经验

叶一一

JavaScript 前端 组件 9月月更

数字化转型和信息化的区别是什么?

雨果

数字化转型 企业信息化

LeetCode-27. 移除元素(java)

bug菌

9月日更 Leet Code 9月月更

Java网络编程之InetAddress类详解,URL和URI的区别,URLDecoder和URLEncoder,IPv6和IPv4区别,IPv6的三种表示方法

共饮一杯无

Java 9月月更 URL和URI

产品需求文档必须消亡

ShineScrum

Scrum 敏捷 产品开发 PRD

阿里云林小平:如何实现资源高效运维及成本分析

阿里云弹性计算

运维 资源管理

阿里云弹性计算技术专家樊毅伟:云上成本优化实践

阿里云弹性计算

自动化运维 资源利用

数据治理的内核:数据标准

小鲸数据

数据治理 大数据平台 数据管理平台 数据标准 大数据仓库

「工作小记」多个批量操作的链式实现

叶一一

前端 设计思维 React Hooks 9月月更

C语言_1 背景,和Hello world

泾箐

c 9月月更

Build 2018大会:.NET概述和路线图_.NET_Michael Stiefel_InfoQ精选文章