4 ms·
If you're building Windows software, then you might find it easier to use the Windows-native stack. If you're not, then I'm not sure what the appeal would be.
by ubermonkey 3y ago
If you're building Windows software, then you might find it easier to use the Windows-native stack.
If you're not, then I'm not sure what the appeal would be.
I work for a company in the former space. We have no intention of supporting nonWindows clients or nonWindows servers or even nonSQLServer DBs. It's not worth doing from a commercial perspective in our particular market. Consequently, it's C# and .NET.
- paddim8 3y ago.NET has great crossplatform support anyway
- CharlieDigital 3y agoI do all of my .NET work on a Mac and deploy to Linux -- both x64 and Arm64 -- on the daily.
- ubermonkey 3y agoWow, really? That's wild to me.
- jmaker 3y agoYeah, I’ve run the same dev setup since the M1 came out. Totally stable and robust. Nothing wild at all. Every .NET dev who’s on an ARM Mac today is most likely doing the same. If you like you can run Windows ARM in a VM on the same Mac if you want to run native WinUI, WPF, etc. GUI or anything Win32 specific.
- CharlieDigital 3y agoThere are some tradeoffs, but some really key benefits which make it worth it. Tradeoffs: - You'll have to use Rider if you want a full IDE - Or get used to VS Code and know its gaps - Some workloads aren't as well supported in VSC (e.g. MAUI, desktop apps); as long as you don't need these, VSC is fine - I know at least the CosmosDB emulator straight up does not work in ARM, even with the x64 emulation on the Docker image. Has been that way since M1 released. - Occasionally, you'll run into issues where there are dependencies on x64 binaries like with Google OR-Tools which has a .NET wrapper around a C++ library. - Have to get used to configuring cross-platform builds for .NET and Docker (not hard) since you'll often still be running in x64 environments in upstream cloud deploy targets. - Terrible multi-monitor support; you'll need a $250+ DisplayLink capable dock for more than 2 screens. - And the text doesn't render quite as crisp as Windows; might be that it would if I were using Apple monitors, but the same monitors are notably more crisp with Windows 11. Benefits: - PHENOMENAL battery life; for this alone, it was worth the switch. It's insane how good the battery life is for the performance. I've previously used top-of-the-line Dell Precision mobile workstations and the performance for the battery life on ARM64 is just unmatched. I can run Postgres (in Docker), a handful of Docker images, VS Code, and code on a cross-country flight - The form factor is phenomenal. The same size as a Microsoft Surface 13.5" laptop but has 3 USB-C ports and an HDMI port. Of course, the phenomenal performance and battery life listed above - The laptop is absolutely silent; never hear the fan kick on. I can be compiling away, running a Node-powered front-end dev runtime, a .NET web API, Docker containers -- never hear a damn thing. Coding in complete silence is kind of crazy. - Stays relatively cool and never reaches the same temps as a Windows Intel laptop Some lessons learned: - It takes a while to remap your brain for KB shortcuts; get Karabiner to save your sanity - Download iTerm; it's like Windows Terminal - If you switch to VSC, you need to commit to it and get used to the CLI