For some months now, I've been waiting to upgrade my MacBook Pro. It had started choking just from doing Google Hangout calls, and I wanted something with a bit more kick to it. I currently spend about half my time in the UK, and half my time in Finland, so as a secondary objective I also wanted a machine that I could play games on while I was away.
Initially I was holding out for the new range of MacBooks, as I'd heard they were getting a new set of processors. I was already annoyed that the only way to upgrade the RAM in my current MBP was to buy an entirely new machine, but I held out to see what the offerings were. On the whole, I'm sorely disappointed with Apple's new MacBook range.
The first issue is the Touch Bar. Almost every developer I know has said they hate it, or don't want it. I think this makes Apple seem very out of touch with their user base. Yes, some of Apple's users are just people with too much money who use it as a status icon, but there's a sizeable chunk of us who use OSX because of it's range of brilliant software (OSX excluded) by people like Alfred, Panic, OmniGroup etc. The second issue is the hardware itself. The latest range of MacBooks is using Skylake, the previous processor generation. Having said that, if you go and look at Apple's store page for MacBooks, the Tech Specs section doesn't even list what the processor actually is.
The last nail in the coffin for me was hearing that Apple have dismantled the OSX software development team and rolled them in to the iOS development team, firmly giving MacOS a back seat until further notice.
My first dilemma was "If not OSX, then what?". I'd tried to like Linux before but it just felt like hard work to get anything at all done, let alone it's lack of commercial software support. That left me with Windows, which I'm perfectly familiar with as I've had a Windows gaming PC for years alongside my MacBook that I used for work.
When I wasn't using Git to push to a repo automatically, Transmit has been a (mostly) excellent FTP client and one that I will definitely miss now I'm on Windows. FileZilla has taken up the slack here, and does a good, although ugly, job of it.
SequelPro is also excellent software for working with local and remote databases. You could work with PHPMyAdmin for local databases on Windows, but I shelled out for a Navicat license and don't regret it at all. It also syncs my database connections using Navicat Cloud (without passwords), which is really handy to keep them in sync between my laptop and desktop. It's editing interface for making direct changes to tables is actually a lot faster to work with than SequelPro too.
I dislike the command line when I can avoid it, so I've been using Git Tower on OSX to deal with version control. They recently released Tower for Windows, and I also discovered GitKraken while looking for alternatives. While I prefer the interface of GitKraken to Tower, I dislike their subscription based license, so I'll be buying a one-off license for Tower.
I manage all my passwords with 1Password, which works on everything except Linux. I'm not a fan of 1Password 4 for Windows, although it gets the job done, but they've recently released version 6 (What happened to 5?) which works pretty well, albeit not as nicely as it does on Mac.
This was the main area holding me back from Windows. CodeKit has been absolutely fantastic for front end developers for the last few years. It compiles Sass, Less and a dozen other languages, optimises images, minifies files, you name it. It's magic. This is something I couldn't do without on another operating system without using a command line tool like Grunt or Gulp. No thanks. Thankfully, Prepros handles this on Windows pretty much the same way, so I'm happily using that these days. Even though I feel bad for Bryan.
Slack is cross platform, and my emails are all on Gmail, so no problems there.
Satisfied that I could still do all my development on Windows, I started looking for a Windows laptop, and settled on the Razer Blade 2016 for several reasons. I first heard some other developers refer to it as the "Windows MacBook", mostly because of it's form factor, price range and build quality. I've always been very scathing of 'gaming laptops', but for my specific situation, something like this was perfect. I'm a big gamer, and I spend a lot of time away from home, so something that has lots of processing power and comes with a GTX 1060 was very tempting. It's got an SSD, the screen is an IPS TFT rather than glass (yay for no reflections!), and at 14" it's marginally bigger than my old MacBook but not super heavy. I usually plug it in to another monitor while I'm using it in Finland anyway. It also comes with the 7th Generation Kaby Lake processors. As a price comparison, to get the same specs in the Razer Blade as the new range of MacBooks, the price is pretty much exactly the same, with the exception that the MacBook has no graphics card to speak of, and the 6gb GTX 1060 inside the Razer Blade is worth nearly £300.
It's taken a little getting used to, but I am now fully entrenched in Windows, and I've got everything set up quite happily. The extra advantage for me is that I can also now game while I'm travelling as this laptop is an absolute beast. Obviously that's not for everyone, but there are a lot of decent Windows laptops around too. Just make sure to get one with an SSD.
The pain points for me have been lack of a nice FTP client, no Alfred and no Terminal. I can simulate Alfred with the Windows Start key, but it does have a habit of opening a new instance of an application rather than switching to the one I already have open. I don't do a huge amount in the terminal, but Windows lacks in this area. Hopefully with Windows adding the command Linux command line to Windows 10, this will get less painful over time.
I also miss the ability to select files/folders in Finder, then copy and paste their names in to a text document, and the ctrl+option+shift+4 screenshot key which I used for measuring pixels while building sites. I also haven't found a Windows substitute for Integrity which I used for checking broken links on my sites.