Yesterday, I've read a blog post, 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
While coding is the biggest part of the job, it can be said that web development goes far beyond that. Because of the visual part of the website, web app, or even native JavaScript app (Electron, React Native, etc.), there's often a need for web developers to do some graphic tinkering - vector illustrations, logos, icons, images, and maybe even promotional videos too! Remember, there are many freelancers in this field providing "all-in-one services", so everything is possible!
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
As you might know, Microsoft Edge has recently gone Chromium, leaving the major web engines scene only to Chromium, Mozilla's Gecko, and - you've guessed it - WebKit.
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 macOS.
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.
Bottom line
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.
For more web development thoughts and articles, be sure to follow me on Twitter, Facebook, or here on Dev.to. Thanks for reading and happy coding!
Latest comments (34)
Real developers really don't care about the operating system. MacOS is most the best way to get NON COMPLIANT with standards. Like as any domain, MacOS has few part of the developers global market. Developpers prefer using Windows or Linux mainly, we just need MacOS to dev for Apple off course, as you need Windows to dev using Microsoft Visual Studio a very commun tool unlike MacOS. To test dev browsers nobody need a mac, we use things like lambdatest.com as developer we try to never interact using an human. Using apple absolutly don't mean you have money lol, for the same amount of dollards, you'd better buying a windows based laptop or desktop. Adobe works on Windows too as you can guess, or Adobe only target the operating system representing less than 15% of the global market? Developers really hate 13 inches screens for USD1500 by the way ;-).
So what do you think about Apple's recent announcement that they're planning to move from Intel to ARM for their Macs:
dev.to/leob/apple-arm-announcement...
Do you think this might have an impact on Macs' popularity with developers?
I believe in Apple as the one company that can make such transition happen. I know some dev are worried about x86 compatibility, but as a web dev I’m not. I don’t want to sound ignorant, but I feel optimistic about the ARM future.
I think the reason is much more simple - one word: MARKETING ...
Given the fact (to which I agree) that most devs prefer the Unix-based terminal/command line, what options do we have?
Apple offers you an integrated package of hardware and software, off the shelf, which (while expensive) "just works" ... and the choice is very simple - one brand, a couple of models, that's it.
Now, look at Linux (which normally runs on PC hardware) and right away the story becomes complicated and confusing - go to your local computer store (or web shop), look for desktop or laptop hardware, and right away you have a problem - in most cases they will come with Windows preinstalled!
So you then have to choose whether to put up with Windows (which, admittedly, did became more attractive with WSL), or wipe your system and go install Linux. And then look at how many brands and models there are - the choice isn't nearly as straightforward, people suffer from "choice fatigue" - Apple makes it simple.
So there you have it - Apple has a clear and simple (but pricey) offering and a great marketing "message" - the alternative is way more fragmented, fuzzy, confusing and not as straightforward - but also much cheaper, more flexible, and potentially WAY more bang for the buck.
Somehow I have the feeling that a huge opportunity is being missed out on here.
I switched Mac→ Windows years ago. Windows has better hardware options, and the OS has much faster innovation & investment.
I recommend everyone buying an older $200 desktop to try it out. Most people use macs because of the trend. MacOS innovation has been minimal, and the hardware (until 2020) has been terrible (now it's just bad)
What exactly do you mean by "the OS has much faster innovation & investment"?
If ever my Mac hardware needs replacement (hopefully it will last a couple more years) then I'd be tempted to NOT get new Apple hardware but to buy PC hardware instead (desktop or laptop) - but I'd probably skip Windows and put Linux (Ubuntu) on it, with a no-nonsense configuration, just Gnome Classic.
Been there done that, Ubuntu works perfectly.
Good question. My comment refers to Windows 10 feature development for developers and enthusiasts. In the past few years, Windows 10 has received much more frequent OS updates (2x / yr major), Windows Insiders (beta + feedback), hyperv performance improvements (so devs have built-in hypervisor for dev environments), Improved terminal, improved docker support, powershell improvements – and best for last: WSL2
In the last 5 years, MacOS has shipped one dev-focused feature: dark mode. And many dev-hostile features (removing kernel extensions, protected mode, bad hardware)
So, the biggest advantage of using a Mac is its versatility. That's it.
Your "Creative software support" section seems ... interesting?
What exactly is the argument you are making here?
Why is macOS the "perfect choice"?
Can you elaborate on the "programming on it can be quite troublesome"?
Is it a performance issue? Is it a usability issue? What metrics are you comparing?
How exactly is creative software support limited on Windows and Linx? Are you saying graphical applications from Adobe et al lack support on Windows and Linux? In what way? What were the difficulties you experienced on Windows and Linux to conclude that macOS is better?
As for your section on Multiple browsers support, are you saying that the only reason macOS is better is because of the availability of Safari? What about the small percentage of users who still use Internet Explorer? Would using something like Browserstack solve browser testing issues regardless of the operating system you are on?
I use a MacBook Pro at work, and these reasons are hardly the reasons why I would choose it. The biggest advantage for me is macOS's amazing ability to manage full-screen workspaces among multiple monitors. Otherwise, I can make do with Linux or Windows.
**Edit: Formatting
Your section about creative software makes no sense. It would make sense if you mentioned Sketch, but you didn't. You just mentioned Adobe CC, said it is supported on Windows, and then started talking again about MacOS being Unix-based being better for programming. That has nothing to do with creative software support.
Killer reason to choose a Mac : you always have the possibility to code for iOS and other stuff.
Hey!
How did you embed the "Buy me a coffee" link in the article?
Buy me a coffee and I'll tell you. 😀 In all seriousness though, you can embed basic HTML in your Dev.to posts and the link is a simple
<a></a>
tag with image inside it - you can get it from the BMC dashboard.Ahh got it :)
Truth has been spoken. No other reasons than that. I'm a big fan of Unix but today you can do almost everything on Windows with it's new Linux kernel.