Moving to Windows for PHP Development from macOS
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
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!