If you’ve read any of the other posts on this blog (or happen to know me in person), then you’ll know that I enjoy developing on my Mac. Listing all the things I enjoy about working on a Mac would be a bit overkill for this post, but long story short, I develop on a Mac for 2 main reasons:
You get a natively Unix-like operating system, which feels a lot more polished than any Linux distribution, with more support from software vendors.
Mac is the lowest common denominator when it comes to mobile development, or you could even say software development in general.
What I mean by #2 is, you’re able to build .net core, Android and iOS applications on a Mac, but the same can’t be said for any other platform. On Windows or Linux, you’re not able to build for iOS. This fact alone means that if you’re only going to have one development machine, it’s better off being a Mac if you want to be able to target all platforms. Yes technically, .NET Framework development still remains a Windows-only feature, but with .NET Core around, there are fewer and fewer reasons to use .NET Framework these days anyway.
So while I do enjoy developing on Macs, I’m also very much a C# / ASP.NET guy. The question that must be asked then, is what IDE / editor I use for Microsoft development? Typically on Windows, the no-brainer will be to just use Visual Studio, and on Windows, I definitely agree. On Mac though, I’ve found that there are 3 common choices. I’ve used all 3 of these options over the last couple of years, but I definitely have a favourite. Read on to find out which it is ;-)
Visual Studio for Mac
This was my first choice for developing in .NET on MacOS, so my comments on this choice may be a bit outdated. It definitely did work, but I found the IDE to be a bit sluggish, and it was missing some features from its Windows counterpart. It seemed like there was constantly an update to install, and I found that the IDE took a bit of time to get running after you fire it up. Again though, it was around 2018 when I last used VS for Mac, so these may no longer be issues.
After getting frustrated with the sluggish and somewhat buggy VS for Mac, I thought I’d try using VS Code. The speed is definitely noticable switching between the two, though some might (rightfully) say that it’s not really a fair comparison, since VS for Mac is a full-blown IDE, whereas VS Code is just a highly customisable code editor. VS Code can work, and even supports syntax highlighting, intellisense, launch configurations and debugging, with a couple of extensions. It never did feel quite as integrated as true VS though, but I guess that’s why we don’t call it an IDE. I remember using the command line a whole lot more with VS Code than with traditional VS, and I did miss some features of VS after a while, like scaffolding for example.
Rider is what I’m using now for Microsoft development on my Mac, and I’m enjoying it thoroughly. Since it’s made by the same guys that created ReSharper, it actually has quite a few features that aren’t even in Visual Studio, like automatically showing you names for positional arguments in a function call, and allowing you to navigate to implementations and / or usages of a method in an abstract class or interface specifically, instead of grouping them all together like in VS.
It does come at a cost of around $140 USD/year, but I think it’s totally worth it. Unless VS for Mac has improved significantly over the last couple of years, I think that Rider is the best option for C#/.NET development on a Mac today.
Anyhoo, that’s all from me for now. I’ll be back again next week!