Why I Use Mac OS X for Web Development

Comparing and contrasting the way that operating systems handle certain tasks can be touchy for some people. As such, I think I’d better make this point right from the get-go: I don’t want this to be a flamewar. I use Mac OS X, Windows, and various flavors of Linux and have likes and dislikes about all of them. I am not saying that Mac OS X is superior to Windows and Linux operating systems in every way, nor am I saying that every web developer should always develop on Mac OS X. I am simply offering some points for web developers to consider when deciding which operating system to do web development on.

Mac OS X Has Better Compatibility with Popular Web Development Tools Than Windows

Git can be awkward to use on Windows. For example, the last I checked, if a repository uses symlinks, a workaround must be put in place to get that repository to play nicely with Windows, as described in this Stack Overflow question. Also, at the company I work for, we use Vagrant and rely on NFS synced folders because, without them, our virtual machine’s performance is pretty awful. Here is a quote from Vagrant’s NFS documentation:

Windows users: NFS folders do not work on Windows hosts. Vagrant will ignore your request for NFS synced folders on Windows.

These are just two of the issues I have with using Windows for web development and both are not issues on Mac OS X.

Mac OS X Allows Testing Browsers in a More Common Environment Than Linux

It is a well-known fact that for most websites, the majority of the visitors using desktop computers or laptops are running Windows or Mac OS X. So unless you know that a significant number of people in your target audience are using Linux, it doesn’t make much sense to do most of your testing in Linux. Some web developers may say that Firefox or Chrome renders pretty much the same regardless of the operating system. However, there can actually be significant differences. For example, consider this HTML:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>Cross-Platform Test</title>
		<link href="//cdn.jsdelivr.net/normalize/2.1.2/normalize.css" rel="stylesheet">
		<style>
			div {
				width: 300px;
				border: 1px solid #000;
				font-family: Georgia;
				font-size: 16px;
				line-height: 24px;
			}
		</style>
	</head>
	<body>
		<div>
			When using Chrome 28.0.1500.95 and Firefox 23.0 on Windows
			7, Mac OS X 10.7.5, and Ubuntu 12.04.1, the number of lines
			this text takes up remains the same for both Mac and
			Windows (9 lines), but varies for Ubuntu (Firefox is 10 and
			Chrome is 8). Depending on what you are doing, this can
			cause noticeable design issues.
		</div>
	</body>
</html>

As stated within the above HTML, the way that the text in the above HTML gets rendered on Linux is significantly different than the way it gets rendered on Windows or Mac OS X. Here are some screen shots:

Chrome 28.0.1500.95 on Windows 7 Firefox 23.0 on Windows 7

Chrome 28.0.1500.95 on Mac OS X 10.7.5 Firefox 23.0 on Mac OS X 10.7.5

Chrome 28.0.1500.95 on Ubuntu 12.04.1 Firefox 23.0 on Ubuntu 12.04.1

So if you’re going to do your web development on Linux, you should probably not be too trusting in the way the browsers render your code. It would be safer to do all of your testing in a Windows virtual machine. There are free and legitimate virtual machines meant for testing websites in Internet Explorer available at modern.IE. You can use those same virtual machines for testing in Firefox and Chrome, of course.

With Mac OS X, you should still test your websites in Internet Explorer using a virtual machine, but I don’t think testing in the Windows versions of Firefox and Chrome needs to be done nearly as often as it does in Linux since those browsers render very similarly on both Mac OS X and Windows.

While I’m on the topic of testing browsers in virtual machines, I should note that based on what I’ve read in Apple’s software license agreement for Mac OS X 10.8.2, I believe that running Mac OS X in a virtual machine is only permitted if the host operating system is Mac OS X.

Mac OS X Has a High Level of Accuracy in Simulating iOS Devices, Unlike Windows and Linux

Xcode, which provides access to iOS Simulator, is available as a free download for Mac OS X. iOS Simulator provides a far more accurate iOS experience than any browser extension or web app I’ve seen. For more details, see my iPhone Website Testing: Windows Browsers vs. iOS Simulator┬ápost. I believe in this age of mobile devices ever rising in popularity, it’s important to test your websites on iOS devices, among other mobile devices. This may not be the case for every website you develop, but I would guess that it’s the case more often than not.

About these ads

2 comments

  1. Thank you for these blog, I really love Windows maybe because I grew up using it. But I am now thinking on getting a mac to try iOS app development. Can you help me in choosing a mac mainly for web development and iPhone app development? Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s