Four Years on Apple Silicon: A .NET Developer’s Field Report
1. Why I Switched and Stayed
I’ve been a full-time .NET developer for more than a decade, but I’ve spent the last five years coding exclusively on macOS. When Apple unveiled the first M-series chips in late 2020 I ordered a 16 GB MacBook Air M1 the moment sales opened. Skeptical? Of course ARM64, Rosetta 2, no fans, brand-new silicon.
Amazed? Absolutely, within minutes I knew the gamble had paid off.
- Fanless, silent, always cool chassis
- Battery that lasts a conference-length flight (and, crucially, delivers the same performance on battery as on mains power)
- Instant-wake convenience that makes Linux and Windows laptops feel old-fashioned
The only early hiccup was iMessage activation: six frustrating months of Apple Support sessions before a macOS update resolved it. Everything else: hardware, Rosetta, peripherals—just worked.

2. Performance That Rivals (and Often Beats) a Desktop
My home PC runs a 12-core/24-thread Ryzen 3900X. Yet opening a large .NET Core 3.1 solution in JetBrains Rider on the M1 felt just as snappy, even though every binary was still x64 translated by Rosetta 2. Compilation times were within a few seconds of the desktop box; unit-test runs felt identical.
Once .NET 6 shipped with native Apple Silicon builds—and later .NET 9 became my daily driver—the gap closed completely.
◆ Pro tip: run dotnet --info
and enjoy the Architecture: arm64
line.

dotnet --info
arm643. The Toolchain That Makes It Possible
Task | macOS Tool | Notes |
---|---|---|
IDE & debugger | JetBrains Rider | 100 % Apple-Silicon native since 2021. Newer builds include Step-Filtering and full dotTrace / dotMemory integration. |
Lightweight editing & terminals | VS Code + C# Dev Kit | Great for quick edits and Markdown. |
Database work | Azure Data Studio | Good enough for 99 % of tasks; still lacks a visual Query Store browser, so I keep a tiny Windows Server VM with SSMS for edge cases. |
Containerisation | Docker Desktop (Apple Silicon) | Build multi-arch images locally with --platform=linux/amd64,linux/arm64 . |
Mobile / MAUI | Xcode 16 + .NET 9 workloads | Native iOS & macOS builds, no Rosetta required. |
4. Pain Points That Used to Hurt (But Don’t Any More)
- Lack of profilers – JetBrains shipped arm64 builds of dotTrace/dotMemory in 2023.
- Stepping time while debugging – Rider 2023.3 introduced “Step-Time” so you can inspect what slowed a step.
- Third-party NuGet packages – By 2025 virtually every mainstream package includes “-osx-arm64” assets; the few hold-outs run fine under Rosetta anyway.

5. Tips for Prospective Switchers
- Install multi-arch .NET runtimes (
brew install --cask dotnet-sdk
) so you can build for x64 and arm64 in CI. - Keep a light Windows VM (UTM, Parallels, or a spare server) purely for SSMS or Power BI Desktop.
- Use Homebrew for almost everything (
brew bundle
your dev setup). - Treat battery health as a metric—compile on battery all day, then screenshot the Power pane in System Information to show cycle count after years of heavy use.
6. Conclusion
Four years in, I’m at 99.9 % feature parity with my old Windows workstation—yet my laptop is silent, never throttles, and lasts a trans-Atlantic flight without a charger. If your stack is 100 % Microsoft and you assumed you had to run Windows, think again: Apple Silicon plus JetBrains Rider (or VS Code) is not only viable, it’s a joy. The only surprise left is why I didn’t switch sooner.