Moving to Windows for PHP Development from macOS

Posted on Thursday August 23, 2018

My 'old' laptop was a Macbook Pro from late 2013. I've recently bought a new laptop and will be ditching macOS for personal development and using Windows.

Why did I move?

Let's look at the hardware of what I bought, vs what I was considering if I went the MacBook Pro route.

Here's a list of pros and cons to each:

Recoil II:

  • CPU: i7 8750H
  • RAM: 32GB 2400MHz DDR4
  • GPU: GTX 1060 6GB
  • SSD: 1 x 500GB NVMe SSD, 1 x 500GB SATA SSD
  • Screen: 1920x1080 60Hz matte
  • Battery: 46-watt-hour
  • Price: £1,556.00

Macbook Pro:

  • CPU: i7 8750H
  • RAM: 32GB 2400MHz DDR4
  • GPU: Radeon 560X 4GB
  • SSD: 1 x 1TB NVMe SSD
  • Screen: 2880x1800 truetone display
  • Battery: 83.6-watt-hour
  • Price: £3,339.00

So, here's the winners in each category

  • CPU: Tie
  • RAM: Tie
  • GPU: Recoil II
  • SSD: It would be Macbook Pro though based on the above, I could have configured mine with a single 1 TB NVMe SSD - so I just consider this about even.
  • Screen: Macbook Pro
  • Battery: Macbook Pro
  • Price: Recoil II

So they're about even, but one I didn't mention (which is important to me) is keyboard. The Recoil II has a mechanical keyboard which is a delight to type on (though it'd be bad in a conference talk if I were typing notes as it's a bit loud)

I wish I could say the Macbook Pro keyboard was nice... but it just isn't. It's personal preference on that one though. Some love it, I hate it.

The big one is the price though, the Recoil II is < 50% of the cost of the Macbook Pro. When you're paying for a laptop yourself, it's a big deal. This isn't a work machine that the company I work for is buying. It's mine. I'm going to use it when travelling about, giving talks, personal development and I can do some gaming with it as well (the 1060 is a more than capable card for the 1080p screen!)

So, Windows for PHP development eh?

Before starting my current job 3 years ago I used Windows for development. This was less choice and more that I got what I was given.

I used macOS in my spare time on my personal laptop, but at work it was Windows. Currently I still feel a bit alien in Windows for development. I have a gaming PC but no dev on that really, just gaming. Over time that'll get better, I've just got 4 years of macOS dev habits to undo.

For some initial setup, I found the this post from Jordi Boggiano incredibly useful.

Editor: PhpStorm

I used to use this on macOS. Nothing different here. Exported my settings and altered some keybinds (I had mine heavily customised), so now we're good to go.

Terminal: hyper js

It's great! I use the hyper relaxed theme, with the following plugins:

  • hyperterm-summon - to have a global keybind where I can jump to hyper and summon the window regardless of where it is and what app I'm currently in
  • hyper-relaxed - the theme I'm using

Hyper JS picture

Dev environments: Docker and WSL

Using the Windows Subsystem for Linux and having it talk to Docker on Windows means I'm more than able to run all the things I need so far locally.

For DB browsing I'm using HeidiSQL. I used to use this back in my Windows development days so it's a nice go-to. I'm using PuTTY to handle SSH keys for connecting to remote servers (it uses plink from putty on Windows for SSH tunnelling)

Talks and presentations

I'm going to be using PowerPoint I think. I've looked at some online options, as well as Google Slides. I know Google Slides has an offline option but I'd rather not rely on browser based slide and presentation solutions. So back to good old PowerPoint it is!

Built with Tailwind CSS using Hugo hosted on Netlify
© 2020 Matt Brunt