再見!微軟官宣放棄Mac 版 Visual Studio IDE
原創(chuàng)撰稿丨千山
對于Visual Studio,只要是開發(fā)者,或多或少都接觸過。發(fā)布于1997年的Visual Studio標(biāo)志著微軟第一次將這么多開發(fā)工具捆綁在一個地方。
也許有人認(rèn)為Visual Studio如今過于“臃腫”,但實際上在很多場景中,Visual Studio仍然是真正的專業(yè)強者,因此被人戲稱為“宇宙最強IDE”。
近日,跨入第26個發(fā)展年頭的Visual Studio迎來了一個重要變化:適用于 Mac 平臺的 Visual Studio 集成開發(fā)環(huán)境(IDE)正式啟動“退休”進(jìn)程。
1、告別在即,Visual Studio for Mac進(jìn)入退休倒計時
8月30日,微軟開發(fā)者博客更新了一則公告,宣布Visual Studio for Mac退役。
圖源:微軟開發(fā)者博客
據(jù)通知,Visual Studio for Mac 17.6版將是其最后一個版本,將繼續(xù)獲得為期12個月的支持。到2024年8月31日,徹底終止對于 Visual Studio for Mac的支持。屆時,Visual Studio for Mac將只能通過官網(wǎng)為已訂閱 Visual Studio 的用戶提供舊版安裝,但不再提供服務(wù)或維護(hù)。
顯然這意味著,針對Mac平臺的Visual Studio IDE正在一步步走向終結(jié)。在此期間,微軟不會再向 Visual Studio for Mac 添加新的框架、運行時或語言支持。
不過,在接下來的一年中,微軟會繼續(xù)提供必要的更新,比如針對關(guān)鍵漏洞修復(fù)、安全問題和蘋果更新平臺的服務(wù)更新,從而確保用戶現(xiàn)有開發(fā)環(huán)境的安全與穩(wěn)定。
同時,微軟還將繼續(xù)提供運行時和工作負(fù)載更新,以便用戶可以繼續(xù)生成和交付基于 .NET 6、.NET 7 和 Mono 框架構(gòu)建的應(yīng)用程序。
此外,雖然沒有得到官方支持,但微軟還在 Visual Studio for Mac 中啟用了對 .NET 8 的基本支持,用于構(gòu)建和調(diào)試應(yīng)用程序。
微軟也強調(diào),將繼續(xù)為Mac平臺的開發(fā)者提供替代解決方案,以期“最大限度地減少對 Mac 上工作流程的干擾”。這些替代方案主要包括:
使用新的 C# Dev Kit 和相關(guān)擴展程序轉(zhuǎn)到 Visual Studio Code
選擇在Mac上開啟虛擬機運行Windows ,然后在Windows 中運行Visual Studio IDE
選擇在云中開啟虛擬機運行Windows,然后在Windows 中運行Visual Studio IDE
值得一提的是,macOS 上不乏高級虛擬化軟件,比如最近發(fā)布更新的Parallels Desktop 19 for Mac,此外今年年中,微軟發(fā)布了最新的Windows 11 虛擬機,可供開發(fā)人員免費使用。
2、初衷:跨平臺開發(fā)的關(guān)鍵一步
固然Visual Studio for Mac已走向終局,但細(xì)究一下其發(fā)展歷程,就可以看到,它并非全無可取之處。
Visual Studio固然歷史悠久,但Visual Studio for Mac的推出其實并不算很早。
故事開始于2016年。彼時,微軟收購了移動跨平臺開發(fā)公司 Xamarin,隨后在2017年的Connect大會上,微軟正式推出了Visual Studio for Mac 預(yù)覽版。
這個版本正是以C#語言跨平臺應(yīng)用集成開發(fā)環(huán)境Xamarin Studio為基礎(chǔ),而其UX又受到了Windows版Visual Studio的啟發(fā)。據(jù)微軟介紹,借助Xamarin,Visual Studio for Mac可以支持原生iOS、Android以及Mac的開發(fā);而通過 .NET Core與Azure的集成可以支持服務(wù)器端的開發(fā)。
Visual Studio for Mac 的優(yōu)點也很明顯:
首先就是跨平臺性。Visual Studio for Mac適用于Mac和Windows操作系統(tǒng)。如果你之后需要在Windows上工作,你可以更容易地進(jìn)行過渡。
其次是集成度高。Visual Studio for Mac提供了廣泛的功能,包括代碼編輯、調(diào)試、版本控制、圖形界面設(shè)計等。它的用戶界面可能會更加熟悉,因為它與Visual Studio的Windows版本有一些相似之處。
再有就是適用范圍廣。雖然它主要以C#和NET開發(fā)為重點,但也支持C++。
最后社區(qū)支持也很給力。由于是微軟的產(chǎn)品,用戶可以很方便在社區(qū)中找到大量的教程、文檔和幫助資源。
此后,Visual Studio for Mac也在沿著既定路線發(fā)展。甚至在去年,微軟還發(fā)布了Visual Studio 2022 for Mac,號稱“迄今為止速度最快的 Visual Studio for Mac 版本”,令人不禁對其前景感到期待。
但世事從不盡如人意,曾被寄予厚望的一步棋,并沒有如微軟所預(yù)期的那樣發(fā)展。
3、擴大生態(tài)未果,終究淪為棄子
其實,早在微軟推出 .NET的時候,其針對跨平臺開發(fā)的野心已經(jīng)一覽無遺。如此一來,如何增強微軟產(chǎn)品的兼容性就是關(guān)鍵一環(huán)。推出Visual Studio for Mac就是其擴大生態(tài)的關(guān)鍵一子。
當(dāng)時就有人評價過:“真正的 .NET開發(fā)工程師,應(yīng)該還是在Windows平臺奮戰(zhàn),所以for Mac應(yīng)該不會對專業(yè)人士造成明顯影響。但對于次一級的 .NET開發(fā),微軟就可以借此贏得更多Mac系統(tǒng)的用戶?!?/p>
可是生態(tài)建設(shè)遠(yuǎn)非朝夕之功。盡管有了Mac版本,但Windows版本的Visual Studio依舊是微軟的旗艦開發(fā)環(huán)境。與此同時,隨著Visual Studio年歲日長,其新功能不斷增加,其規(guī)模也愈發(fā)龐大。
Visual Studio的日益“臃腫”逐漸也開始為人詬病,而發(fā)布于2015年的Visual Studio Code卻作為輕量級的源代碼編輯器迅速受到廣大開發(fā)者的歡迎。
Visual Studio Code 的定位是微軟為開發(fā)者提供的“跨平臺”的代碼編輯器,彼時微軟開發(fā)部門負(fù)責(zé)人稱:“與其說服這些人改用 Windows,不如在他們使用的平臺(Linux、Mac等)上提供工具滿足其要求?!?此語一出,就在開發(fā)界掀起了軒然大波。Visual Studio Code 的出現(xiàn)讓開發(fā)者有了更“輕盈”的選擇。此消彼長之下,VS for Mac的處境更為尷尬。
4、開發(fā)者說:不如JetBrains Rider
到了今天,微軟最終決定放棄Visual Studio for Mac。在其官宣博文中是這樣表述的:“隨著今天的發(fā)布,我們將重新分配我們的資源和重點,以增強Visual Studio和VS Code,針對跨平臺開發(fā)對其進(jìn)行優(yōu)化。”
從這一措辭以及上文提到的替代方案來看,微軟正試圖集中精力優(yōu)化Visual Studio和VS Code,而Visual Studio for Mac顯然已淪為雞肋。更直白地說,在微軟的評估中,選擇增強Visual Studio和VS Code,比繼續(xù)投資Visual Studio for Mac劃算多了。
從發(fā)展初衷來說,VS for Mac的用戶增長顯然并不能滿足微軟的預(yù)期。另一方面,同樣是面向Mac的開發(fā),對于開發(fā)者而言,他們似乎也有更好的選擇。
在Reddit論壇的相關(guān)話題上,有網(wǎng)友就直言不諱地談到:“JetBrains Rider比VS for Mac好得多,也可以說它也比VS for Windows好?!?/p>
圖片
這位據(jù)說“從1999年開始就是VS忠實用戶”的開發(fā)者談到,在同事推薦下接觸到了Rider,在經(jīng)歷最初的不適應(yīng)后,“我發(fā)現(xiàn) Rider 更快、更強;我的windows工作電腦上同時安裝了VS 2022和Rider,我每天都使用Rider。只有當(dāng)我想測試某種Roslyn分析器或其他東西以確保它在VS中工作時,VS 才會起到作用?!?/p>
他甚至還拉踩了一下,“與VS for Mac不同,Rider是真正的跨平臺”并“強烈建議任何 .NET 開發(fā)人員嘗試一下”。
參考鏈接:
https://devblogs.microsoft.com/visualstudio/visual-studio-for-mac-retirement-announcement/
https://www.reddit.com/r/programming/comments/165lfhg/visual_studio_for_mac_retirement_announcement/