A while ago, I’ve read a blog post on Dev.to, together with a healthy debate that appeared there in the comments. It was about Macs, their pricing, and how you might not need one for your work that in this case involves web development.
Now, reading this made me think about why Macs are so popular within the web development community. I feel like it’s somewhat of an unspoken truth. I see tons of GitHub issues reported from Macs, benchmarks run on Macs, Mac-recommended setups, tutorials, and all that kind of stuff. Sure, Linux and even Windows have user bases of their own, but it seems that — in web development at least — Macs are the generally preferred option (if you’re willing to pay the price that it).
I haven’t yet owned a Mac myself, and my primary OS is Linux, with some Windows here and there for specific tasks. However, I have played a little bit with macOS and more than enough with both Linux and Windows to know what’s so appealing about it and how it compares to the other options. And so, here are 3 reasons why I think web developers prefer Macs.
Based on Unix
One of the biggest advantages of macOS for all kinds of developers is the fact that it’s based on Unix. This means that you get a comfortable terminal with all the convenient and well-established commands, together with a vast ecosystem of development-centric tools.
Now, an argument can be made that it’s only an advantage when compared to Windows (which without the WSL lack pretty hard in this regard), but not so for Linux. Arguably, Linux is even better for various development tasks, due to it being more lightweight and literally omnipresent when it comes to servers, databases, or even supercomputers. It’s also more customizable than macOS and has an even larger ecosystem of useful software.
Overall, while Linux is definitely the king in the Unix-like category, macOS is close behind and surely far ahead of Windows. Also, it’s somewhat of a matter of personal preference as some might prefer the customizability of Linux, while others the out-of-the-box intuitiveness of macOS.
Creative software support
And so, for those kinds of things, macOS is a perfect choice. Just think about this, Windows is supported by a lot of creative software like — most notably — Adobe CC. But, as we’ve already discussed, it’s not Unix-based and so programming on it can be quite troublesome. On the other hand, Linux is Unix-based, but the creative software support for it is much more limited. Sure, if you can go with using e.g. Inkscape, Gimp, and Blender, you’ll be fine, but without a doubt, macOS wins in this category.
Multiple browsers support
You can download Firefox on both Linux and Windows, and Chromium-based browsers are literally everywhere. However, even though WebKit is open-source, browsers based upon it are far less common (examples include Midori Browser). The fact is that the best WebKit experience is available only on Safari, which itself is only on Apple OSs.
So, if you’ve got macOS, you can without much trouble test your designs on the latest versions of all major browsers. Of course, it won’t be enough for production testing, but it’s still a much-welcomed advantage, given the fact of how many quirks there are to solve with WebKit compatibility. Remember that Safari still has a pretty significant market share, and even if you go with e.g. Midori for all that testing, there’s no mobile iOS debugging anywhere outside of macOS.
These were just some of my thoughts about the popularity of Mac in the web development industry. Still, I don’t use macOS, so you can look at these as nice, objective thoughts.
It’s without a doubt that macOS machines cost more (unless you go the Hackintosh way, but that’s a different story), and thus aren’t even within anyone’s reach. Also, the point of personal preference plays a significant role here. macOS just like any other OS has a lot going for it, but also against it. We shouldn’t argue or purse others to use the same OS as we do, just because we think it’s better. Everyone works with what he has, and if he has the right budget — with what makes him more productive.