写点什么

.NET 平台负责人 Scott Hunter 专访:.NET Core 3 给 .NET Core 带来了很多新东西

  • 2019-10-14
  • 本文字数:3264 字

    阅读完需:约 11 分钟

.NET 平台负责人Scott Hunter专访:.NET Core 3 给 .NET Core带来了很多新东西

本文要点

  • .NET Core 3 给 .NET Core 带来了很多新东西。新版本包括 C# 8、WinForms 和 Entity Framework 6。

  • .NET Core 3 将专门针对微服务,并且是针对云原生应用程序的构建而设计的。

  • 开发人员可以在其 ASP .NET Core 3.0 应用程序中编写高性能、基于契约的 RPC 服务。

  • ASP .NET Core 3.0 能够使用 AOT(提前编译),从而使开发人员的应用程序能够本机化且具有高性能。

  • 对于 bug、性能、安全性和未来的标准,微软将继续更新其 .NET 框架( .NET Framework)。


本文是探讨 .NET Core 优势的系列文章之一,它不仅可以帮助传统的 .NET 开发人员,还可以帮助所有想要为市场提供可靠、高性能且经济的解决方案的技术人员。


随着 .NET Core 3.0 的发布,微软拥有了通用、模块化、跨平台和开源平台的下一个主要版本,该版本最初是在 2016 年发布的。 .NET Core 最初是为了支持下一代 ASP .NET 解决方案而创建的,但是现在它驱动了许多其他场景,包括物联网、云和下一代移动解决方案,并且是这些场景的基础。3.0 版本增加了许多常用特性,比如对 WinForms、WPF 和 Entity Framework 6 的支持。


.NET Core 3.0 在 2019 年 9 月 23 日至 25 日的 .NET Conf 上正式发布,这是一个免费的虚拟开发者活动。在发布之前,Chris Woodruff 与 .NET 平台的项目负责人 Scott Hunter 一起讨论了开发人员对 .NET Core 3 的期望。


你在 .NET Core 团队中担任什么角色?


Scott Hunter:我是 .NET 平台的项目负责人。我有一个项目管理团队,负责监督 .NET Core、 .NET 框架、   .NET 工具、Web 工具、 .NET 语言(C#、F#、VB)、ASP .NET、Entity Framework、 https://dot .NET 和 .NET 社区。团队中的项目经理要确保我们为客户构建的是正确的产品,并且帮助推动 .NET 社区的发展。


在我们深入探讨 .NET Core 之前,请先介绍一下 .NET Core 的背景知识以及该框架的来源。


Hunter: .NET Core 是于 2014 年启动的,当时作为一个团队,我们意识到,要使 .NET 紧跟未来 20 年,我们需要做一些变化,而这些变化无法在 .NET 框架中实现。因为 .NET 框架是 Windows 的一部分,而计算机上只能有一个 Windows 版本。因此,它需要保持高度兼容,这样它才不会破坏世界上 10 亿多台 Windows 机器上安装的任何应用程序。作为 Windows 的一部分,我们一年只能发布两次,这是 Windows 主要更新的发布周期。同时,开源正在接管软件,所有其他的编程平台都是开源的。我们还看到一些开发人员在使用 Mac,一些公司在 Linux 上托管他们的软件,所以我们需要跨平台。

.NET Core 是 .NET 的一个版本,它是开源、跨平台的,并且多个版本可以同时安装在一台计算机上。它的工具被设计成优先使用 CLI(Command Line Interface,命令行界面),因此开发人员可以使用任何文本编辑器在任何计算机上使用 .NET Core 进行开发。如果使用的是传统工具,如 Visual Studio、Visual Studio for Mac 和 Visual Studio Code,我们也对它进行了很好的支持。


在 3.0 版本中,你们对 .NET Core 有什么计划吗?


Hunter: .NET Core 3 给  .NET Core 带来了很多新东西。有数百万的开发人员使用 WinForms 和 WPF 来构建桌面应用程序,因此我们将这两个框架都添加到 .NET Core 中了。许多桌面应用程序使用 Entity Framework 6,所以我们也添加了它。因为 .NET Core 一直以来都是基于开源的,所以我们在 12 月份宣布,我们也将对这两个框架进行开源。此外, .NET Core 3 还包括 C# 8、 .NET Standard 2.1 等。


你们对 ASP .NET Core 3.0 有什么计划吗?


Hunter:很多时候,当我们谈论 .NET Core 3.0 时,我们都会谈到新的桌面支持,但是它在 ASP .NET 中也有很多创新。首先,虽然我们没有恢复 WCF,但是我们知道许多开发人员希望在他们的应用程序中编写高性能、基于契约的 RPC 服务。对于这些工作需求,我们正在支持开源的 gRPC 项目。我们正在努力使 .NET 实现成为第一个类,因为它是 gRPC,所以它也可以与许多其他编程语言一起工作。有一个新的与微服务相关的 Worker Service 项目,用于构建轻量级后台 worker,它可以在诸如 Kubernetes 之类的编排器下运行。此外,虽然 ASP .NET 对构建 API 已经有了很好的支持,但我们希望能够轻松地将丰富的安全性添加到 API 上,因此我们正在新增桥接器,以便开源的 Identity Server 项目能使用我们的 API。最后,我们正在研究 Blazor,它允许开发人员使用 Web Assembly 在浏览器和服务器中使用 .NET 构建高性能的 Web 应用程序。


Azure 是怎样影响你们 .NET Core 计划的呢?


Hunter:Azure 不会直接影响我们的 .NET Core 计划。但是,我们希望确保 .NET Core 是构建云原生应用程序(包括微服务和基于容器的应用程序)的最佳平台。传统上,我们大多会认为 .NET 是使用在 Web 和桌面 UI 上下文中的,我们希望改变大家的这种看法。虽然大家现在可以构建此类应用程序,但是我们并没有明确说明。我们将为构建 Worker Service 项目提供 .NET Core 3.0 和模板。我们希望该平台可以支持诊断和调试,即使你是在云上以超大规模运行应用程序。


你最喜欢 .NET Core 的哪些部分,以及在未来你希望它什么地方有所改变?


Hunter:对于 .NET Core,我最喜欢的部分可能是 CLI(命令行界面)、跨平台支持和开源。仅仅依靠一台基于 Windows、Mac 或 Linux 的机器,跳转到 CLI 并使用你选择的编辑器构建一个应用程序,这在过去是你不会想用 .NET 来做的事情 。此外,能够访问 GitHub 并观看由微软和社区共同开发的产品也是很好的。向前看,我总是为 .NET 启用新的工作需求而感到兴奋。我对 AOT(Ahead of Time Compile,提前编译)感到兴奋,它将为你提供类似于 Go 语言的小型本机高性能应用程序。


** .NET Core 成为 OSS 有什么惊喜吗?**


Hunter:我们在 2014 年开源了 .NET Core,这对我们来说在开源领域似乎已经很晚了。我们不确定社区是否会支持这一运动,但是有超过 3700 家微软之外的公司做出了 60000 多份贡献,这一运动取得了成功。为了使 .NET Core 成为最快的框架之一,社区做了大量的工作。


所有这些对 .NET 框架意味着什么呢?


Hunter: .NET 框架是 Windows 操作系统的一个组成部分。Windows 依赖于它,微软的许多大型产品和服务也依赖于它,此外还有数百万的客户应用程序也在使用它。因为在 Windows 上只能安装一个版本,所以它有一个要求非常高的兼容性条栏,并且我们可以在其中进行有限的更改。对于它的 bug、性能、安全性和未来的标准,我们将持续更新。未来的创新将发生在 .NET Core 中;该平台的并行特性使我们能够快速移动它,且不会有破坏应用程序的风险。


对于在项目中没有使用 .NET 和 C#的开发人员,为什么应该关注 .NET Core 呢?


Hunter:今天,许多开发人员选择使用最适合于对应工作的可用工具。如果你看看 TechEmpower 基准测试,会发现 .NET Core 是最快的框架之一。它是由 C#语言驱动的,C#具有诸如异步/等待等令人惊叹的特性,可以使异步编程变得更容易(并且许多其他平台已经复制了它),并且它还支持 F#函数语言。它也有一些很棒的开发工具,无论是 Visual Studio for Windows、Visual Studio for Mac、Visual Studio Code,还是 Jet Brains Rider,都很棒。


关于 .NET Core 2.2、3.0 及更高版本,还有什么需要注意的吗?


Hunter:我们谈了很多关于通用平台和一些 .NET 的历史。在 .NET 中还有一些其他令人兴奋的开发,比如 Blazor,它是一种编程模型,允许开发人员在服务端或客户端都能使用 .NET 构 Web 应用程序。在客户端,我们将 .NET 编译成 Web Assembly,以便在浏览器中获得原生速度,并在客户端和服务端上都具有 .NET 的所有强类型。我们还通过 ML .NET 在 .NET 中添加了对机器学习的支持 ,ML .NET 是我们的开源 .NET 机器学习库。这项技术已经在微软产品中使用很多年了,现在我们正在向公众开放。

受访者介绍

Scott Hunter 是微软 .NTE 项目负责人。他致力于 Visual Studio 和 .NET 的工作,包括 .NET Core、 .NET 工具、语言、ASP .NET、实体框架和 Web 工具。


原文链接:


Interview with Scott Hunter on .NET Core 3.0


2019-10-14 08:002443
用户头像

发布了 307 篇内容, 共 202.2 次阅读, 收获喜欢 599 次。

关注

评论

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

openEuler代码贡献之星:麒麟软件裴建康

openEuler

开发者 成长 代码规范 openEuler 开源社区

【Java】:数组的创建、赋值、访问以及长度

翼同学

Java 学习 编程语言 分享 8月月更

HTML

武师叔

8月月更

渲染与云渲染——渲染行业的新趋势

Finovy Cloud

云渲染 GPU算力

将使用回调函数作为参数的函数改造为返回 Promise 的一个具体例子

汪子熙

JavaScript web开发 Promise 异步编程 8月月更

浅谈云上攻防系列——云IAM原理&风险以及最佳实践

腾讯安全云鼎实验室

安全攻防 云安全 安全研究

多线程+JVM+设计模式+数据库,阿里巴巴Java性能优化全解实战笔记真香

Java永远的神

Java 数据库 程序员 面试 多线程

个推TechDay直播预告 | 8月24日晚19:30,实时数仓搭建保姆级教程开课

个推

数据仓库 实时数仓 Flink 平台

从函数计算到 Serverless 架构

阿里巴巴中间件

阿里云 开源 Serverless 云原生

避免 10 大 NGINX 配置错误(下)

NGINX开源社区

nginx 配置 配置分析 故障排除

打破底层技术瓶颈,RTC技术或成为物联网市场的强劲引擎

擎声科技

物联网 RTC sdk 实时音视频 擎声Qtt

「望繁信科技」完成过亿元A+轮融资,全面加速流程智能产品建设

望繁信科技

如何开发一款基于 vite+vue3 的在线表格系统(下)

葡萄城技术团队

Vue 前端 vite

本周四晚19:00知识赋能第七期第2课丨OpenHarmony WiFi扫描仪UX设计

OpenHarmony开发者

Open Harmony

架构设计文档模板

maybe

字节跳动嵌入式数据分析最佳实践

字节跳动数据平台

字节跳动 数据分析 BI 嵌入式分析 数据看板

短视频源码APP开发——短视频的功能

开源直播系统源码

软件开发 直播系统源码 短视频直播系统

八月最新首发!这份Dubbo 3.0 分布式实战笔记由阿里巴巴P8亲自撰写真是大厂offer收割机

了不起的程序猿

Java 分布式 dubbo java程序员 java编程

Java架构岗9大性能优化经验总结,我不允许你不会

程序员小毕

Java 数据库 程序员 面试 程序人生

大专的我狂刷29天“阿里内部面试笔记”最终直接斩获十七个Offer

收到请回复

Java 程序员 阿里 面试八股文 Java面试八股文

OpenYurt 邀你共赴 2022 EdgeX 中国挑战赛!

阿里巴巴中间件

阿里云 云原生 openyurt 边缘容器

开源贡献者计划 2022 第二期正式启动!争做战“码”先锋!

InfoQ写作社区官方

开源 OpenHarmony 热门活动

程序员面试太卷?我选择背这份阿里最新Java面试八股文(详解版)

Java面试那些事儿

Java 面试 Java 面试 java程序员 java 编程

泄露了,Alibaba697页的MySQL应用实战与性能调优手册,太强了

冉然学Java

Java MySQL 编程 性能优化 构架

2022上半年PMP考试通过率得多低,才能换来一次免费补考机会

索隆

罗技产品究竟能不能带来便捷感

Amazing_eve

#开源

合作再升级!云原生加速器成员企业云霁科技获得阿里云产品生态集成认证

阿里巴巴中间件

阿里云 云原生 合作 阿里云云原生加速器

从程序员到架构师,阿里巴巴2022全新出品Java程序员“成长笔记”满足了我的所有幻想

Java全栈架构师

Java 程序员 面试 后端 架构师

GitHub破百万访问的阿里神作:并发实现原理JDK源码笔记

冉然学Java

Java 编程 jdk 源码刨析 JDK 1.5

技术团队管理者的三十六计

申屠鹏会

团队管理

有关Java性能优化,这是我见过阿里大佬总结的最全的一份实战文档了

程序员小毕

Java 程序员 面试 程序人生 性能优化

.NET 平台负责人Scott Hunter专访:.NET Core 3 给 .NET Core带来了很多新东西_编程语言_Scott Hunter_InfoQ精选文章