Visual Studio for Mac is Retiring. What Now for MAUI Developers?
Posted September 5, 2023
Microsoft announced the retirement of Visual Studio for Mac. Does this leave .NET MAUI developers out in the cold? Yes and no.

On a Wednesday afternoon just before many of us were about to start a long holiday weekend, Microsoft quietly announced the retirement of Visual Studio for Mac. While not many people were surprised at the announcement itself, many were surprised at the timing of the announcement. .NET 8 had been in preview for months and was supported in the preview version of Visual Studio for Mac. Visual Studio for Mac was never on par with its Windows counterpart, but it was at least getting better. Many were hoping Microsoft was brewing up a multi-platform version of Visual Studio, much like JetBrains does with its Rider IDE.
However, what Microsoft is giving Mac developers, at least for now, is a pair of VS Code extensions and a hearty handshake. Luckily, that's not our only option and may not even be the best. Let's take a quick look.
Option 1: Stick with Visual Studio for Mac
The first option is to stick with Visual Studio for Mac. Microsoft will support it until the end of August 2024 for .NET 6 and 7. As long as you aren't migrating to .NET 8 anytime soon, you'll be okay for awhile.
The biggest downside here is that the .NET MAUI team is only addressing bug fixes in .NET 8 and has announced no plans to backport them to .NET 7, as .NET 7 is not an LTS release.
Option 2: Use Visual Studio for Windows and Remote Build for Mac/iOS
Full disclaimer: this is my setup. If you have a Windows machine and you can part with your Mac for MAUI development, you can use Visual Studio for Windows and connect to your Mac remotely with Visual Studio for building, testing, and deploying iOS and Mac Catalyst apps. You can even set up your test iOS devices for wireless deployment and debugging. Android developmewnt is arguably better on Windows than on Mac, thanks to the Windows Subsystem for Android.
Of course, for this to work, you'll need to keep your Mac on and connected to your network. It's also a bit slow, but this is an okay trade-off in my opinion.
Option 3: Use Visual Studio Code with the C# Dev Kit and MAUI Extension
Some saw the writing on the wall for Visual Studio for Mac when Microsoft announced the C# Dev Kit and .NET MAUI extensions for VS Code.

The C# Dev Kit offers many of the C# features you know from the full-fledged version of Visual Studio, including intellisense, solution explorer view, and unit testing. In fact, it requires a Visual Studio subscription or license to use. The .NET MAUI extension offers tooling to build and debug .NET MAUI apps within VS Code.
These extensions are still in preview, and they certainly feel like it (for example, the MAUI extension has no intellisense for XAML). If you were used to the NuGet Package Manager in Visual Studio, there is no official equivalent in VS Code. You'll have to become friends with the dotnet CLI for package management or use a third-party extension.
As an experiment to see how easy it was to setup a .NET MAUI development environment from scratch without Visual Studio for Mac, I took a "clean" Mac and had to do the following:
- Install the .NET 8 preview SDK
- Install VS Code and the C# Dev Kit
- Install Xcode and Xcode command-line tools
- Install Microsoft OpenJDK 11
- Install Android Studio (the dotnet CLI command Microsoft recommends to install Android dependencies didn't work for me)
- Install the MAUI VS Code extension and point it to the paths for the Android and Java SDKs
After all that, I was finally able to build and test a MAUI app, but the development experience was a far cry from what we had in Visual Studio.
Option 4: Use a Windows Emulator or DevBox
The most expensive option here - you can use a program like Parallels to emulate Windows on your Mac or use the recently released DevBox on Microsoft Azure. The former will integrate Windows into your Mac but requires ample memory and CPU. The latter is a virtual machine in the cloud that you can access via a remote desktop session. Both options require a separate Windows license. DevBox also charges by the hour, so you'll want to shut it down when you aren't using it or use the scheduled shutdown feature.
Option 5: Use JetBrains Rider
If you want to avoid Windows, using JetBrains Rider is the best option. In its own rite, Rider is a great IDE. Known for ReSharper, JetBrains has been in the .NET development space for a long time. Many developers prefer it to Visual Studio, even on Windows. While you will still have to do many of the same installation steps as above, Rider has a great MAUI development experience and some great plugins in its marketplace. If you already have Visual Studio for Mac installed, you already have all of the dependencies you need to get started with Rider and MAUI.

Up until the announcement of the retirement of Visual Studio for Mac, I never tried Rider. I heard great things about it, but I was happy enough with Visual Studio since I mainly use the Windows version. However, I am having a great experience with it and may get a license so I can stick to my Mac for MAUI development.
The main downside, other than having to pay for another annual license, is slightly longer build times. Rider is not free for individual use; there is no equivalent to Visual Studio Community Edition. JetBrains does offer free invidiual licenses for students and teachers. You also don't get full support for .NET previews like you would with Visual Studio preview versions. I am using the latest .NET 8 preview with no issues, though.
Goodnight, Sweet Prince
I understand Microsoft has to make business decisions, but it's still sad to see Visual Studio for Mac go. What Microsoft might not understand is how this looks for the future of .NET MAUI. I voiced this concern on the official announcement of the retirement of Visual Studio for Mac. The product manager assured me that Microsoft continues to invest in .NET MAUI. It might be wise for Microsoft to make this clear to developers lest we jump ship for one of the many options for cross-platform development.