微软最后一刻砍掉.NET 6 热重载代码功能,激怒开源社区
IT之家 10 月 23 日消息,据外媒 The Verge 报道,在萨蒂亚・纳德拉接手了微软 CEO 一职后,这家公司开始着手拥抱开源。先是微软公司斥资 57 亿美元收购了在世界范围内拥有众多开发者的开源托管平台 GitHub,而后萨蒂亚・纳德拉又在开发者大会上主动传达了对 Linux 和开源社区的热爱。
但本周微软在即将发布的.NET 6 中悄悄地删除了热重载(Hot Reload)中的一个关键部分。IT之家了解到,该功能可以让开发人员在创建项目时获得实时的反馈,在修改代码后,可以立刻看到结果。
热重载对于其竞争对手谷歌的 Dart 语言和 Flutter 开发套件而言,是微软.NET 框架一个极大的优势,且微软一直积极想将它引进到.NET 和 Visual Studio 的集成开发环境里。
微软在最初的计划中描述,要将热重载功能带给尽可能多的开发者。然而在最后一刻计划的改变,又将.NET 局限在了只在 Windows 平台上使用 Visual Studio 的一小部分开发人员,而不是面向开源和跨平台使用。
微软一直在测试接近最终版本的 .NET 6 候选发布(RC)版本 ,允许开发者通过 dotnet watch 在各种配置环境和平台上使用热重载功能,包括目前流行的 VS Code 开发环境。候选发布版本意味着微软认为此版本功能完整并可以对外发布,并已经尽可能修复了在测试期间发现的各种错误。
但随着本周早些时候微软对外宣布的修改内容,热重载功能又只会在 Visual Studio 2022 中启用。对此,负责该功能的微软项目经理 Dmitry Lyalin 给出的理由是,此举是为了向大多数的用户提供最佳的体验。
但在 GitHub 上,有大量开发者对此举动表达了不满,Hacker News 和微软官方播客文章下的评论区也是一片骂声。曾在微软 F#团队工作的工程师 Phillip Carter 在评论中写道:"在查阅源码后,我发现了一个让人倍感失望的事实,热重载功能的代码只有 1000 到 2000 行左右,但这个功能最后还是没能留住。作为一个最初就是面向开源和多平台的功能,微软这么做是一个明显的退步,我不希望微软就此走上回头路。"
IT之家了解到,将热重载功能从.NET 6 中删除的举措是由微软开发者部门的负责人 Julia Liuson 最终拍板的。据知情人士描述说,此举是一个由商业性质的决定。但是对于那些长期对开源社区从事.NET 相关工作的微软工程师看来,连他们都感受到了深深的伤害与背叛,更不用说是普通的开发者了,他们甚至担心这一决定会对微软后续的开源工作产生长久不利的影响。
The Verge 表示已经就.NET 6 的功能变化和.NET 基金会的问题联系了微软,但微软目前暂时未发表任何声明和回复。
2022-05-06 13:36:45