刪除“熱重載”功能的意味著什么
據(jù)了解,,所謂 Hot Reload(熱重載)功能,,是一個可以允許開發(fā)者在應(yīng)用程序運行時更改源代碼,,并立即看到效果的關(guān)鍵功能,。換句話說,,就是在開發(fā)人員寫代碼過程中,,獲得修改代碼的即時反饋,從而幫助軟件開發(fā)人員提高開發(fā)效率,。
此前,,微軟曾高調(diào)宣布將在 .NET 6 中加入“熱重載”功能,但是微軟又悄悄地從名為 dotnet watch 的工具中刪除 2500 行“熱重載”功能的源代碼,。
10 月 20 日,,微軟項目經(jīng)理 Dmitry Lyalin 發(fā)布一篇博文表示:“我們決定從即將發(fā)布的 .NET 6 GA 開始,,現(xiàn)在只通過 Visual Studio 2022 啟用熱重新加載功能?!?/p>
就是這個消息,,瞬間引爆了整個 .NET 社區(qū)。對于不熟悉開源社區(qū)的朋友來說,,微軟僅僅刪除一個“熱重載”功能,,。NET 社區(qū)開發(fā)者為什么這么激動呢,?
實際上,,微軟刪除 .NET 6.0 的熱重載功能是將其限制在自家產(chǎn)品 Visual Studio 開發(fā)平臺上,拒絕開放給其它平臺使用,,微軟此舉已經(jīng)違背了開源社區(qū)的“發(fā)展初心”,。
準確來說,微軟已經(jīng)將開源 .NET SDK 故意削弱了,,使得微軟自家免費的商業(yè)產(chǎn)品 Visual Studio 比競爭對手更具吸引力,,包括微軟贊助的 Visual Studio Code。最重要的是,,此次更改微軟是在沒有與 .NET 社區(qū)協(xié)商的情況下完成的,。
為此,人們聯(lián)想到之前關(guān)于 .NET 基金會的“數(shù)次危機”,。此前一位卸任的董事會成員就對 .NET 基金會的角色提出了質(zhì)疑,,詢問它是否僅代表微軟的意愿行事、還是致力于幫助培養(yǎng)和促進一個健康的社區(qū),?
據(jù)了解,,微軟此次不僅將 .NET 6.0 的熱重載功能刪除,目前 macOS 和 Linux 開發(fā)人員那里也刪除了該選項,,內(nèi)部人士稱:“現(xiàn)在這個功能真的成為了 Windows 和 Visual Studio 開發(fā)平臺獨有的工具了”,。
微軟道歉:恢復(fù) .NET SDK 熱重載功能
由于 .NET 社區(qū)強烈譴責微軟從 .NET SDK 中刪除了熱重載(Hot Reload)功能,微軟不得不出來道歉,,并宣布恢復(fù) .NET 中的熱重載功能,。
恢復(fù)熱重載功能GitHub截圖
10月23日,微軟官方發(fā)布博文道歉:“首先,,也是最重要的,,我們要道歉。我們在執(zhí)行我們的決定時犯了一個錯誤,,花了比預(yù)期更長的時間來回復(fù)社區(qū),。我們已經(jīng)批準了重新啟用這一代碼路徑的拉取請求,它將在 .NET 6 SDK 的 GA 構(gòu)建中出現(xiàn),?!?/p>
微軟方面解釋稱,因為于絕大多數(shù) .NET 開發(fā)人員都在使用 Visual Studio,,他們?yōu)榱舜_保 VS 為 .NET 6 提供最佳體驗,,所以他們選擇首先將 Hot Reload 引入 VS 2022。
同時微軟強調(diào)是無意中刪除了這段源代碼,,而不是不調(diào)用該代碼路徑,。在文章的最后,微軟再次進行了道歉,,并表示:他們的愿望是為 .NET 創(chuàng)造一個開放和充滿活力的生態(tài)系統(tǒng),。和許多公司一樣,他們也正在學(xué)習(xí)如何平衡 OSS 社區(qū)的需求和作為 .NET 的企業(yè)贊助商之間的關(guān)系,。
網(wǎng)友對此看法不一
即便微軟決定恢復(fù) .NET SDK 中熱重載(Hot Reload)功能,,還是引起了眾多網(wǎng)友的議論。
@Georg Dangl 網(wǎng)友認為:這是開源理念的一個很好的證明--問題得到了承認,,反饋得到了迅速解決,。
@Cory Crooks 網(wǎng)友并不認可微軟官方說法。他們認為“微軟無意中刪除了源代碼,,而不是不調(diào)用該代碼路徑”,。這是否意味著代碼將在那里,現(xiàn)在仍然無法從命令行使用,?
@ Allan Lindqvist 網(wǎng)友認為這篇博文聽起來是個好消息,,但并沒有說明如何恢復(fù)熱重載(Hot Reload)功能,也沒有解釋微軟是否試圖以犧牲其他平臺為代價,,促進 Visual Studio 成為 .net 生態(tài)系統(tǒng)中的“一等公民”等問題,。
對此,你怎么看,?歡迎留言評論,。