As you're most likely know if you're even so slightly interested in tech, Apple recently announced and released new Macs - Mac Mini, MacBook Air and MacBook Pro 13" - powered by their own "Apple Silicon" ARM processor called M1.
Tech media went crazy about this - and for a good reason. It truly is a huge step not only for Apple but potentially the personal computing industry as a whole.
But it's web development we're talking about here and that's why today, I'd like to take a bit deeper dive into Apple's M1 chip from a perspective of a web developer. We'll touch on the general implication of M1 but focus mostly on the performance, development experience, and software compatibility that you can expect from these new machines. Let's dive in!
Apple M1 chip
First, a primer on what M1 really is, why it's so, dare I say, revolutionary, and how it came to be.
Basically, it's a chip specifically designed by Apple, that implements the ARM instruction set, instead of the x86 that's so common across PCs, and prior Macs. Neither ARM nor custom Apple chips are anything new. In fact, ARM is the architecture of mobile devices, and Apple chips implementing it have been powering iPhones, iPads, and other mobile Apple devices for years now.
It's thanks to these prior uses of ARM by Apple that we could set our expectations high when the transition was announced at WWDC 2020. iPhones and iPads have been leading in performance benchmarks for quite a while now, thanks to tight hardware-software integration, but also the raw power of Apple's chips. So, when the company announced it'll be bringing the same technological prowess to the Macs, things started to look interesting.
Now, I don't have an M1 Mac myself, but tons of customers and reviewers already do, and they were eager to share their experiences. That's just to let you know what I'm basing off here.
Starting with benchmarks - mainly Geekbench 5 and Cinabench r23 which are very popular benchmarking tools recently updated and optimized for M1. All the new machines achieved similarly astonishing scores, rivaling or beating the power of the 2019 Macbook Pro 16" with 9th gen i9 processors. All that while staying much quieter, cooler, and within a much smaller thermal envelope.
Personally, I've been using Geekbench as my go-to source for comparing performance across devices for quite a while. But if benchmarks aren't your thing, then there's still a lot of good news going around.
Both reviewers and normal customers have been reporting impressive performance even when running through Rosetta 2 "compatibility layer" (more on that later), unheard-of battery life, and simply put - great usage experience.
These new Mac improve over their predecessors in almost every possible way - performance, battery life, usage experience, and more, with the only exception being possibly the design which remained the same.
Again, all that with little to no active cooling - Air doesn't have a fan at all, while MacBook Pro 13" and Mac Mini both have one for sustained loads (although it's not used that often from what I've heard). I think I don't have to mention that temperatures were great as well - so nowhere near as hot or as loud as previous Intel-based models.
As a note on GPU performance - it's also really good, but maybe not as mind-blowing as the CPU. It depends entirely on what you're comparing it to. In benchmarks, Apple's GPU integrated into the M1 System On a Chip (SOC) achieved scores far above current integrated offerings from both Intel and AMD, while being comparable to the discrete mobile version of 1050 Ti. It easily outperformed the previous models (none of which had dedicated GPUs) and could even play somewhat-demanding games at native resolution and 60fps. So, it's impressive for what it is, but you can't compare it to something like Nvidia's 3080 (at least not yet...).
With this brief overview, I hope you now see the potential.
In most cases, Macs weren't bought for their raw performance. It was more of a mix of great design, seamless integration with the Apple ecosystem, and OS preference - certainly a nice package for which one could overlook little performance penalty or price premium. But now, with promising performance, better battery life, and generally increased comfort of use due to better thermals, Macs will become much more compelling.
M1 is meant only for the "low-end" of Apple's line-up - that's what people tend to forget nowadays. If this transition goes well, and Apple Silicon keeps scaling as intended - we're in for a technological revolution.
The tech industry
Macs and Apple are destined to profit from this change, but I'm eager to see what it'll mean for the rest of the tech industry. There were ARM PCs already - most notably the Microsoft's Surface Pro X - but they didn't deliver in terms of performance and software compatibility. It's been a bit better lately, but how it goes from there - we can't say right now.
Also, a single M1 won't deprecate Intel's and AMD's x86 designs just like that. Currently, AMD is on top of the raw performance with its 5950X, but its performance per watt is far from what M1 delivers. If future Apple chips manage to deliver the same performance at lower power, or much, much higher performance at the same power, how do AMD and Intel plan to catch up?
It's all very speculative right now, but as you can tell - I'm very optimistic about this transition. I believe it'll truly be something big. We don't have to have the same opinion on Apple, on its "walled garden", its approach to the right to repair and user customizability, other similar aspects. But I think we should appreciate the innovation that's brought to the table - especially if it's that big.
Enough about M1 itself. Time to take a look at the new Macs as whole packages from the web developer perspective.
That's really all there is to it - software compatibility. If you're already accustomed to Macs and the Apple ecosystem, then you should be good.
Apart from that, development experience will line up almost completely with casual user experience. Battery life, quiet operation - these sound like great advantages for me. Performance should also be more than enough for all but the largest projects.
However, I'll remind you again that these are the "lower-end" machines and that's what M1 is made for. The performance is impressive, but limitations like only 16 GB of RAM max, 2 USB-4/Thunderbolt ports, 13" display, and only a single external monitor (2 in the case of Mac Mini, but it requires at least 1) might be deal-breakers for you. And if they indeed are, I'd say you patiently wait at least a couple more months until Apple releases higher-end M1X or whatever-they-are-called models.
So, software compatibility - pretty much the only possible drawback of the transition and the only thing you need to be concern about. How is it?
Overall - pretty great from what I can tell. The development pace of ARM-optimized Mac apps is astounding, and where it hasn't caught up already, there's Rosetta 2 which is amazing in its own rights. Sure, you lose some performance, but having a compatibility layer that allows you to get almost 80% of native performance is amazing.
Now, the web dev software. I've managed to scrub the internet for a few details so you don't have to. I've looked mainly for the most popular and dependent-upon software, but this list should give you a fairly good idea of how the general landscape looks like.
Code editors and IDEs
Code editor or Integrated Development Environment (IDE) is one of the most important tools for any developer. It's here where you spend a good portion of your time, so it's important that it runs smoothly.
My Code editor of choice is VS Code - the most popular of the bunch and arguably one of the best. If you're using it too, I think you'll be pleased to hear that there's a native, experimental VS Code Insiders build available for the new Macs. But if you're not willing to go on this possibly bumpy ride, then Rosetta 2 should handle VS Code just fine.
Sometimes, I also tend to use WebStorm - one of many awesome IDEs by JetBrains. If that's your choice as well, then you'll have to stick with Rosetta 2 for now, while native versions of WebStorm and other JetBrains' IDEs are in development.
Lastly, I've got an interesting option for you. There's a relatively-new Mac-only code editor by Panic called Nova. It's a paid software, but the company behind it is well-known for high-quality Mac software so if you're willing to switch to something new, then you might want to look into it. Naturally, it's fully native for ARM Macs so it should fly on your new machine.
But if Safari isn't your piece of cake, which is a case for many web developers, there are other options.
Chrome's native launch was a bit problematic but ultimately, starting with v87 there is one available. This means that native versions of other Chromium-based browsers like Brave, Opera, and Edge will also start appearing soon. You can even build Chromium for Apple Silicon on your own, by following these instructions.
Lastly, Mozilla also works on native support and it's already available in beta in Firefox Nightly.
As for other runtimes other than browsers, the good news continues! NodeJS runs well under Rosetta 2 and the work is moving quickly towards a native release. And as for electron - it runs natively since the first beta of v11.
It's all going too well, doesn't it? Well, here's a potential deal-breaker you've been looking out for. At the time of writing any kind of virtualization on Apple Silicon is not possible as it requires special treatment. This means that general VMs and most importantly Docker, which uses virtualization under-the-hood won't work. Companies like Parallels, VMWare, and Docker have announced that they're working on this, but no clear release dates have been provided.
Other Operating Systems
On a side-note, booting directly into other OSs like Linux and Windows isn't possible for the time being. Apple says Windows support (Bootcamp) is for Microsoft to decide, while Linux seems to be left for the community to figure it out. It might be possible that virtualization will forever remain the only reliable way to run other OSs on Apple Silicon Macs. Maybe with the hardware acceleration, it won't be as big of an issue, but only time will tell.
To summarize, I'm very optimistic about this transition. The current lack of virtualization support and no option to boot to other OSs is a bummer for sure, but how big depends entirely on your use-cases. Maybe when the virtualization and especially Docker support arrives, it'll be good - who knows? Surely it can be bad as well. Booting to other OSs? Well, issues were expected, and if you choose a Mac you most likely know what you're getting into.
With that said, I wouldn't rush out and buy the latest Macs with the only exception being if you're a Mac developer, but that's not what we're talking about here. Surely they are compelling, but still, they're only the "lower-end" machines and the software compatibility needs a little more time to catch up.
But that's just my opinion and I'm really curious as to what you think about this whole transition? Are you buying the new Macs or maybe you've already bought one? Let me know down in the comments section below!
As always, be sure to follow me on Twitter, Facebook, or through my newsletter for more up-to-date web development content. Thanks for reading and happy coding!
Black Friday at Creative Tim!
Front-end and back-end stacks with up to 90% OFF on Creative Tim! Choose a React, Bootstrap, Vue, Angular, or Laravel Stack, or go all in with the Ultimate Stack which includes 63 premium products! Hurry up and grab Creative Tim Black Friday deals!