2021 年 .NET 和 Microsoft 开发人员的技术都发生了什么?
很难从 2021 年只选择一个主题。安静的进化?开源的争议?一个让开发人员疑惑的操作系统更新?
当我回头看时, 发现一年发生了很多事情, 2021 年的发展是稳步向前的,就像冰川融化后的涓涓细流, 以下是我对 Microsoft 开发人员世界不断变化的冰层以及接下来会发生什么的一些看法。
.NET 6 的稳步发展
.NET 6 的发展路线很清晰, 这是一个 LTS(长期支持)版本, 它重新命名了 .NET Core 并取代了 .NET Framework, 这代表了一个平台成熟的里程碑, Blazor WebAssembly 技术也发展了一段时间, 您现在也可以考虑使用。
下面是我看到一些比较重要的内容
•Blazor AOT(提前编译)在很多情况下为我们提供了接近于本机的性能,这是 .NET 6 中最受期待的特性。
•Hot Reload 无处不在, 这个很棒, 不过说实话,微软只是在追赶 Flutter 等具有类似支持的框架。
•Minimal APIs 更简洁的 web api 。
•.NET MAUI (preview),跨平台应用开发框架。
•C# 10 语法糖更甜了。
Windows 10X 成为 Windows 11
有过经验的开发人员都知道,没有版本控制就没有产品,当微软在 2015 年承诺 Windows 10 是 Windows 的最后一个版本时,事情就变得有趣了, 各种各样的 Windows 10 版本开始出现了, 从最开始的 1507 代号 Threshold 1, 到 1607 代号 Redstone 1, 再到后面的 21H1, 21H2。终于在 2021 年底,这种疯狂结束了,微软放弃了发布 Windows 10X 版本的计划,将其重新命名为 Windows 11, 并推出了一系列新功能, winget, WSLg, WebView2, 和 Windows Terminal,以及新的 UI,这确实很棒!但是,Windows 11 的升级要求直接把一部分用户给拒之门外, 7代及之前的酷睿处理器不支持, 没有 TPM 模块也不支持, 这真的很让人疑惑。
开源争议爆发
我们知道微软已经拥抱开源很长一段时间了,根据开源报告,微软的开源贡献一直是名列前茅, 但是它与开源社区的关系可能很不稳定, 在 2021 年,主要发生了下面三件和开源有关的事情。
1.首先,Rodney Littles 悄悄地从 .NET Foundation 董事会辞职,并表示 .NET Foundation 缺少思想多样化,社区虽然比过去几年都好,但仍然不健康。
2.不久之后,受人尊敬的基金会执行董事 Claire Novotny 引发了更大的争议, 当她将一个 PR 合并到开源项目时, 没有和其他项目维护者讨论, 这个行为引起了较大的争议,并且持续数日, 最后她被迫辞职。
3.如果这还不够,微软通过从开源 dotnet watch工具中删除了热重载功能,同时把功能保留在了 Visual Studio 中,引起了一场新的、完全不必要的骚动,他们表示这是优化工作负载的必要步骤,但是大家都能看的出来,微软是想把 .NET 开发人员锁定在自家的产品 Visual Studio 中,不过好消息是,经过几天的社区批评,微软重新推出了这个功能。
好消息是微软意识到了社区的这些问题, 他们在 .NET Foundation 成立了一个工作组来讨论发展 .NET 生态系统所面临的挑战,并发布了一份有影响力的白皮书,其中指出 开发人员的依赖库,应该是不受微软控制的, 所以从价值角度上看,我仍然乐观地认为 .NET Foundation 和社区可以在 2022年 快速、健康、全面的发展。
Windows Terminal 成为版本答案
尽管 Windows Terminal 已经在各种早期的 Windows 版本中出现了很长一段时间,但 2021 年感觉就像是它成为主流的一年, 包括在 Windows 11 中成为默认终端, 以及开发人员对它的喜爱,要是今年也发布的 winget 也能设计得这么周到就好了。
银光落幕, Silverlight 已停止支持
微软官方网站宣布,Silverlight 在 2021年10月12日停止支持,再见了我的老朋友, 如果你想复活一个旧项目,你可以试试 OpenSilver。
GitHub Copilot
这应该是技术社区 2021 年最受关注话题之一,2021年6月29日,微软和OpenAI共同推出了一款AI编程工具 GitHub Copilot, 它可以通过人工智能帮助开发人员根据代码注释自动生成代码,解放双手,提升生产力。