Down through the years, I've written a few of these setup posts. I've bounced from PC to Mac, and back again, but my web dev has remained the same - ASP.NET, SQL Server and JavaScript.

Every few weeks on the Reddit .NET groups, I would see people asking if Mac is ok these days to use as your daily .NET development machine.

The answer is that you can absolutely do .net development on a Mac but, there can be a few gotchas, especially around SQL Server support that I'll get into below.

Laptop

To kick things off, my laptop is a 15" M2 MacBook Air with 24gb RAM and 512GB SSD. I previously had an ASUS Zenbook with 16GB but moving to the MacBook Air was like stepping into the future when I bought it late last year. While I enjoyed the Zenbook, the fan noises used to drive me insane - a common issue on most Intel/AMD laptops from pre 2024.

I was going to choose a MacBook Pro 14" but decided I wanted to go fanless. Depending on the type of development work you're doing, you may need the extra power, but for general web development, this wasn't needed by me.

The Good

I won't reiterate what countless others have said about the M-Series processors but what I will say is that from a .net developer perspective, it's amazing how much better a Mac is than a PC for development. My code compiles quicker, the battery lasts all day, and my machine is completely silent. I will routinely hear the fans of my work colleagues HP laptops as they work away during the day.

The Bad

It's not all roses, however. Being a USB-C device, I've found some of the USB-C to "Connector" can be hit-and-miss. I do a lot of on site visits to my customers, and an HDMI connector is essential to allow me to connect to their TV's for presentations. It can be hit-and-miss if this works. It's usually ok, but I've had problems where the laptop just flat out refuses to display on the external source.

The "Things I wish I did different"...

When it comes to the hardware, being a Mac, the laptop is not very upgradable. This won't be a shock if you've been a Mac user for the last few years but coming from a PC, this can be annoying. If you can, purchase as much as you can afford - especially on the RAM and SSD. For my next Mac I'll be sure to spend a bit extra to get 1TB as my 512GB is around 75% full from all of my Mac apps and having Parallels partitoning the drive for Windows.

IDE

Now that VS is no longer a supported app, you really have 2 choices - JetBrains Rider and Visual Studio Code.

I went with Rider as I prefer its UI and the additional tooling it gives you out of the box (ReSharper and the profiler being two notable callouts).

I'm running .NET Core 8 and locally I let Rider setup HTTPS for me.

SQL Server

While it is possible to get SQL Server Management Studio up and running on Mac via Docker, I decided to use dbForge Studio for SQL. It looks almost identical to SSMS but has some very nice built in tooling to do things like quickly cloning a database, easily copy data from one database to another and allows you to check differences between tables too. It's the most expensive tool I have but worth every penny if you do any serious work with SQL.

One 'downside' if that I have to run it on Parallels. There are guides on getting it up and running with Docker or the Crossover app but I decided running it on Windows would be more useful in the long run as I need to run PowerShell scripts too.

External Displays

At home I use the Mac Studio Display. This was a total luxury purchase but one I don't regret. Every time I use it is a joy. All of the reviews talk about how it's over-priced for what it is (and it is expensive) and how the sound is meh and webcam is garbage.

I really wanted it for that "single cable" / "single device" life.

Using this monitor, I have a single power cable and another USB-C to charge my laptop. That's it. Because the monitor has speakers, I don't need any extras cluttering the desk. The webcam being built in is also another thing less to worry about. And everything being Apple, it all just works beautifully together.

At work, I have a Samsung 4k monitor that connects to the mac via display port on my dock. It's a little more clunky but it works.

Keyboard & Mouse

I use the Logitech MX Keys as my keyboard and the Apple Trackpad as my mouse. I previously had a Logitech MX Master 3 but found that I wanted to use gestures more and more as I become familiar with the MacBook Air trackpad.

Performance

When it comes to performance, I'm glad I went with the 24GB of RAM. I typically have 40-50 tabs open in my browser, my note taking app (UpNote), Outlook, Rider, Teams, Slack, LanguageTool (Grammarly like tool), Apple Music and a few other apps all without any noticeable slow down or performance hiccups.

CPU remains under 20%. RAM goes to 80% but this is to be expected. My SSD is at 70% - like I said, I'd love a 1TB drive to give myself that bit more breathing room but it's a minor niggle. I'm not adding GB of data every day so I think this will be ok for my needs.

The laptop can become warm to the touch occasionally but everything just sings with my day to day tasks. It makes me really excited to see what the future of these laptops will bring.

Wrap Up

As you can see for typical .net dev work the M2 MacBook Air is a beast of a machine. If you go for a Mac Studio or MacBook Pro you would have even more CPU/GPU to play with but unless you're gaming or doing intensive video edits, I feel the Air hits that sweet spot of Price/Performance.

While the M3 is the current processor available for the MacBook Air, I don't see a need to upgrade just yet. The new M4/M5 might make me take the plunge but for now, I'm happy to keep using my M2 machine.

Enjoyed what you just read?

Help fuel my next post ☕

Make my day and treat me to a coffee!