.NET 不仅改变了我们构建代码的方式,还改变了微软构建代码的方式。

.NET 20 年:微软Scott Hunter谈开发者平台的“奇妙之旅” rdquo

自从 Microsoft 发布第一个完整版本的 .NET 及其开发工具套件以来,已经过去了 20 年。从那时起,.NET 一直是 Microsoft 故事的关键部分,推动了大部分 Windows 桌面应用程序战略,并支持开发人员工具(如 Visual Studio)的开发。它也是微软开源故事的关键,帮助引领了它开放其工具平台的方式,并最终实现了我们今天拥有的跨平台、开放的 .NET。

我们采访了微软 .NET 产品管理副总裁 Scott Huntr,讨论了迄今为止的历程。这无疑是一条漫长而曲折的道路,从在 Microsoft 的 Forum 2000 活动中宣布将成为 .NET 开始,其中包含一组概念视频,这些视频设想了一个互联世界,信息在服务器、PC 和移动设备之间流动。回顾这些视频,很明显 .NET 已经实现了这一愿景,Hunter 将其描述为“一段非常奇妙的旅程”。

.NET 20 年:微软Scott Hunter谈开发者平台的“奇妙之旅” mdash

世界可能与这些视频所预测的不太一样,但如果我们不使用 Pocket PC 和 Windows CE,我们正在我们的 iOS 和 Android 手机上运行可能使用基于 .NET 的 Xamarin 构建的应用程序,与使用在 .NET 上运行的 ASP.NET 的 Linux 服务器。.NET 世界现在不仅仅是微软——它无处不在……在 Red Hat 活动中宣布了新功能,并且 VMware 举办了自己的 .NET 会议。

.NET:我们是如何到达这里的?

对于 Hunter 来说,它始于 2008 年 Ruby on Rails 的突然流行——这激发了 ASP.NET MVC 和 Nuget 存储库的开发,其中包含一些微软的首批开源工具。在开始转向开源时,微软没有做出贡献,但在 2012 年随着 ASP.NET 和实体框架的开源而改变。

.NET 20 年:微软Scott Hunter谈开发者平台的“奇妙之旅” 应用程序

从那里到今天完全开放的 .NET 需要更高级别管理人员的支持;ASP.NET 团队是Azure的一部分,因此这意味着与 Jason Zander 和 Scott Guthrie 合作。ASP.NET 团队可以看到 Linux 即将到来。“我们坐在那里说,你知道,嘿,科技世界正在发生变化,但在我们之下,开源现在是一件巨大的事情,”亨特解释道。“我们稍微深入了一点。但实际上,我们需要在那里,全力以赴。整个平台必须是开源的。”

第一个开源 .NET 平台建立在现有的 Mono 开源运行时之上,平台的其余部分仍然使用微软自己的专有 .NET 框架。真正转向完整的开源 .NET 平台是后来,企业支持新的开源核心 CLR,即后来的 .NET Core。虽然第一个版本是有限的,但它改变了团队做事的方式,转向了社区焦点。正如 Hunter 所说,这对微软来说是一件非常新鲜的事情。“我们发起了一个叫做 ASP.NET Stand Up 的活动,每周,[团队],我们都会参加社区电话会议,向他们展示我们在上周破解的部分并获得反馈。”

社区是一个很大的驱动力,因为它为开发的内容和方式以及团队如何专注于特定事物提供了动力。例如,最初基于 Mono 的系统的早期基准测试表明其 Linux 性能很差,这促使该团队进入了关键基准测试的前 10 名。在常规在线站会中呼吁性能推动导致了第一次大型社区参与和一系列与性能相关的拉取请求,这些请求迅速修复了关键缺陷,提供了企业级 .NET Core。

.NET:下一个重大发展是什么?

.NET Core 的每个版本,现在是统一的 .NET,都有其旨在突破极限的主题和新技术。下一个大型 .NET 开发将是今年晚些时候发布的新 UI 堆栈 MAUI。多平台应用程序 UI 是即将到来的 .NET 7 的重要组成部分,在当前的 .NET 6 中有一个有限版本;在某种程度上,它回答了微软将如何跨不同平台(包括 Web)提供通用 UI 的问题。

正如亨特所说,答案是不会直接发生。“我们不是因为我们不打算开发 UI 技术。我们只是要用我们自己的技术来包装原生 UI 技术。” 这样,您将拥有一个适用于 Windows、macOS、iOS、Android 和 Web 的单一代码库。亨特期待着最后的选择。“更疯狂的是,您可以将 Blazor 应用程序放在 [MAUI] 中,并拥有一个与本地硬件真正对话的本机 Web 应用程序。”

.NET 不仅仅是熟悉的 C# 和 Visual Basic。如果您回到 .NET 的早期,IronRuby 和 IronPython 等语言为该平台带来了熟悉的开源语言。第三方开发仍在继续,Hunter 对 PeachPie 等开发充满热情,PeachPie 是一种 PHP 的 .NET 实现,运行速度比独立 PHP 引擎快得多。

这是 .NET 旅程的终点吗,跨平台的 .NET 几乎可以在任何地方提供本机性能?Hunter 笑道:“团队的工作将是你在 .NET 7 之后做什么?想想堆栈的下一步是什么,这将是一个有趣的问题。” 这就是不断增长的 .NET 开源社区将帮助推动平台发展的地方,提供有关他们需要什么以及他们希望从他们的工具中获得什么的见解。

一个可能的未来方向来自微软的 Orleans 分布式应用程序框架。它由 Microsoft Research 为大规模云应用程序设计,为 Xbox 的许多后端服务提供支持。开发团队已加入 .NET 团队,Orleans 的元素将开始迁移到 .NET,扩展以支持以云为中心的分布式应用程序。那里有很多交叉施肥,将现代网络概念带入平台,而不会失去任何性能提升。

在过去几年中,.NET 最大的变化可能是哲学的变化——过去,它是不可知论者,为您提供多种方式来做同样的事情,而现在它是固执己见的。是的,如果您愿意,您仍然可以使用较旧的技术,但未来是 Hunter 所说的“一个完整的工具箱”,它可以避免多条通往同一目的地的道路带来的混乱。正如他所说,“你不必去寻找一堆东西——现在大部分都是内置的。”

构建数百万开发人员所依赖的堆栈是一项责任,尽管这是非常有益的。亨特总结说:“所以这是一次伟大的旅程。我为我们在 20 年后所处的位置感到非常自豪,我迫不及待地想看看我们在 25 年后会做什么。”

以上就是【.NET 20 年:微软Scott Hunter谈开发者平台的“奇妙之旅”】的全部内容了,欢迎留言评论进行交流!

赞(0) 踩(0)

与本文相关的软件

发表我的评论

最新评论

  1. 暂无评论