Thoughts on the M1 Mac as a developer

So I've finally got one

After holding out for about 6 months after its launch I decided to finally get an M1 Mac and I have to say that I'm not disappointed. I've opted for the standard 8GB of RAM 13" MacBook Pro. I do usually have more RAM than this but my reliance on VMs is waning and I did get an amazing deal on this laptop from Costco so I took the plunge.

I've long been a Mac user with a temporary hiatus for a couple of years where I decided to see how life was like on the other side with a Dell XPS 9380 (with mixed results) and I still held off due to the change in architecture.

Wooed by the siren calls of radically improved speed, better battery life and improved temperatures I was still put off by the notion of fiddling for endless hours with incompatibility issues. I remember with some fondness the joys of getting Windows applications to work in WINE under Linux and I feared a similar endeavour would be required here.

However, with the utilisation of Rosetta 2 I have barely noticed any difference.

Development Tools

Right now as of July 2021 I have found that the tools which I use currently work out of the box:

  • iTerm
  • VSCode
  • Brave Browser
  • Docker Desktop
  • OneNote

With docker there is a caveat that you need to use ARM64 images. However, these are plentiful. In case there isn't an ARM64 image available then it will use QEmu in order to emulate x64 - although I've not needed to do that yet.

As part of my job as an engineering lead on design systems I do use tooling that requires docker. One such tool is Loki which is an excellent straight-forward visual regression tool for the use on storybook. However, this tool requires a docker image which is x64 only. Fortunately, you can specify an alternative docker image and it'll work just fine.

Gaming

I've not really done much in the way of gaming and given that I have a dedicated gaming rig I wasn't expecting to use this laptop much for games. Despite that though I have given World of Warcraft a whirl with excellent results. Most of the time I'm hitting the 60fps frame cap on setting 7 of the graphics settings.

I'll be trying Final Fantasy 14 soon so I'll report back on my results there.

Battery Life

The battery life (when the device is new at least) is magnificent. With my previous Dell XPS 9380 I constantly had to keep the thing tethered up to the national grid. In this case though it's like a giant leap into the future. With frequent use I've managed to have a few days without even a passing glance at a charger.

Downsides

One of the major pet peeves I have with the device is its inability to natively drive more than one monitor. There are workarounds using display link but this is cumbersome and I feel it is unnecessary.

There are only two USB-c ports and not much else. This is fine with an expensive dongle sticking out but it ruins the aesthetic. On my work MBP I have 2 either side and this is absolutely fantastic.

Recommendation

As a web developer I think this device is most certainly worth considering. As always MacOS delivers the power of Unix but with the stability that we've come to expect from Apple.

I'll always be a fan of Linux but when coupled with the build quality of mac hardware it's hard for other vendors to compete.

All in all I'm very satisfied with my purchase.