DEV Community

Cover image for 3 reasons why web developers use Macs
Arek Nawo
Arek Nawo

Posted on

Why Do Programmers Use Macs 3 reasons why web developers use Macs

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!

Buy Me A Coffee

Oldest comments (34)

Collapse
 
djsullenbarger profile image
David Sullenbarger • Edited

I may have stirred that pot a little :-) Honestly: I don't believe there is a 'good reason' beyond "I want one" (and there is nothing wrong with that). I've been in I.T. forever, I've worked in a repair shop (and have serviced many Apple products), a help desk, and now I'm a developer and I just can't see it being beneficial in any way (again, beyond desire, which is nobodies business but yours).

I also understand your prospective on the prevalence of Macs on GitHub but I'll counter that with I hardly ever see then in a corporate context (and 1/2 of the ones I do see there are running some version of Windows or Linux)

Collapse
 
areknawo profile image
Arek Nawo

I see your point. It's just that switching back and forth between Windows and Linux for my work is a bit tiresome. It's just my personal observation. However, it still doesn't justify much the quite high price and arguably low performance per dollar of Macs - even for me. Anyway, to each one their own and we shouldn't say which OS the other person should use other than giving "objective recommendations".

Collapse
 
djsullenbarger profile image
David Sullenbarger

Right, and for $2500 I can buy a gaming laptop that can be combined with a docking station(1) and that setup can run Linux and OSX in a VM while I'm playing Cities Skylines (or whatever) on the host. That's, basically, my point. I have no (real) opinion on buying a Mac but it seems like people are making the choice without really understanding their choices (and old-timers like me will notice). The exception to this is old-school BSD guys. But I recognize those guys from a mile away and haven't encountered one 'in the wild' in the past few years (but boy were they excited about the changes to OSX!)

(1) it's got to allow video pass-thru from the host

Thread Thread
 
pavelloz profile image
Paweł Kowalski

and that setup can run Linux and OSX in a VM

Good luck with that OSX in VM :D

Thread Thread
 
nexcoder profile image
Nex-Coder

Achieved :D

I get bonus points for being on Ryzen.

Collapse
 
seanmclem profile image
Seanmclem • Edited

Also, if you choose to go the hybrid app development approach - MacOS can build iOS apps in addition to Android apps. While Windows can only do Android. If you choose to do React Native - their CLI tools often throw random errors in Windows, for me at least, which have proven to be due to a lack of optimizations for RN on Windows. I don't have those issues in MacOS.
I'm a recent convert..

Collapse
 
sfarkas1988 profile image
Sandor Farkas

Hey @seanmclem , I started working on react native too and I’m using windows now since more than a year. I was happy with my switch from MacOS to Windows. But working with react native really has some issues on windows. I have no comparison now but maybe you have some more details for me why using a mac is better for react native?
React native might bring me back to macOS but somehow I don’t want to switch back again....

Collapse
 
seanmclem profile image
Seanmclem • Edited

I've been a Windows-only user for decades. I was recently using Expo on Windows and I needed to eject to an unmanaged workflow, but there were errors. The errors came from the fact that the eject script used Unix commands not compatible with powershell. Sure, I could have used WSL to run a Linux terminal in Windows, but that's a lot of work just for this one thing, and for why? This bug had been present for a while and had several github issues, but still not fixed. I've had lots of comparable issues with RN and other RN libraries in the CLI. Windows is clearly a lower priority for React Native devs. That's fine, it makes sense, React Native was originally iOS only. All my bugs went away once I switched to a MacBook I was given. Lots of other things have been easier too. Just generally happier.

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

Mac for developing on iOS and Mac OS X, windows for C# .net environment, for any other reason, there's Linux which works well on any case, including react native

Collapse
 
seanmclem profile image
Seanmclem

Well OS X can also build Android apps. I'd rather go with the platform that can do everything.

Collapse
 
mikeyglitz profile image
mikeyGlitz

Containers for VS Code have pretty much removed any competitive advantage that a Mac offered me.
While WSL isn't quite as good as native Linux, it's still good enough. Window management in windows is better than Mac (spectacle helps, but natively try running multiple instances of vs code or intellij and switching between the windows). The price tag is the main barrier from me getting a Mac. I can get a similar or superior specked pc for around $1500 a Mac, $2500-$3000 depending on which model.

Collapse
 
mrrcollins profile image
Ryan Collins

It’s so weird the world we’re living in. During the 00s, Apple was promoting Unix and the openness of their systems while Microsoft was saying you’re going to use Windows and like it.

Now Apple doesn’t even mention Unix on its macOS page and they are deprecating scripting languages such as Python, Perl, and Ruby. They’ll still be available as an optional install, but you can’t rely on them being there when writing software. The system is getting locked up tighter and tighter, it even phone homes on every script to check for notarization.

Microsoft, on the other hand, is going full in on Linux, giving users all of the creative apps of Windows along with a full open source Linux kernel. There are phone home issues with Microsoft too, but that’s what Pi-hole is for.

It will be interesting to see what Apple does with the ARM based MacBooks. I predict they will be locked down like iOS. No terminal, and can only use apps from the App Store.

I wish Affinity would release a version of Designer and Photo for Linux.

Collapse
 
areknawo profile image
Arek Nawo

Affinity's software would be nice, but if Adobe CC was available on Linux I'd have no reason not to use it. Anyway, Inkscape is quite nice on Linux, I don't do photo editing that much so I don't need Gimp, and I'm just discovering the potential of Blender, so my preferences might change. 😉

Collapse
 
leob profile image
leob • Edited

Funny observation! Yes I agree, Apple seems to become ever more "closed" and MS ever more "open". And Apple becoming more arrogant, MS more nimble and humble. The world is turning upside down.

Collapse
 
morenomdz profile image
MorenoMdz • Edited

Actually for me in 2020, taking into consideration that any development needs will need some setup, the only reasons I use a MacBook pro are Xcode and good laptop builds with good value.

Other than the need for IOS development you can do anything just fine in a well customized Linux distro or even windows with the latest efforts.

Mac is more stable? Not really, it's just easier to get comfortable in it's ecosystem, but damn, engineers should be able to handle any kind of OS setup, plus Mac have some really bad things like font scaling/aliasing in external displays, many small issues with Catalina, Bluetooth issues, lack of hardware support for custom builds, price.

IMHO in 2020 if you don't need to develop for IOS, do buy whatever you like more, take in consideration important things like keyboard, display, build quality, price. I do like my macbook, but it is so damn expansive that it annoys the f out of me when something like the external display looks so bad, or that I need to buy some third party windows management software to do half of the things I can do natively in windows and in so many Linux GUIs.

Collapse
 
leob profile image
leob

It's just that the competition is so fragmented and doesn't have the simple straightforward marketing message that Apple has, but if you really look at what you get (hardware, software) then I'd say that Apple's offering is WAY too expensive.

Collapse
 
djsullenbarger profile image
David Sullenbarger

I'd say you need OSX and that can run on a VM (or even something like this if you're really nerdy). In my mind the hardware has to be better than the competition, considering the price premium. Now that I think about it, I wonder if that touch bar thing had anything to do with this ... that wouldn't be out of character for Apple (no judgement intended)

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

You certainly don't need a Mac for web development. It's based on Unix as well as Linux but both diverged a bit and now you need to virtualize docker for example and it's inefficient in comparison against Linux.

You can get "Creative software" on it but... Are you a web dev or a designer? If you are a dev, you need dev tools. Also you can use inkscape for verctors and photopea for bitmaps and, at the point where a 14" 650€ huawei renders video faster than a 13" 2000€ MacBook Pro... I can't figure out what pro makes sense on the name.
I really tried it many times on last 10 years but i couldn't get a reason for using a Mac

Collapse
 
joelbonetr profile image
JoelBonetR 🥇

The title says Web Dev, not iOS or Mac OS X dev, which at my point of view is the only reason for getting one.

Collapse
 
gmarokov profile image
Georgi Marokov

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.

Collapse
 
kokaneka profile image
kapeel kokane

Hey!

How did you embed the "Buy me a coffee" link in the article?

Collapse
 
areknawo profile image
Arek Nawo

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.

Collapse
 
kokaneka profile image
kapeel kokane

Ahh got it :)