New Macbooks M1 for programming


Recently, Apple shook the entire world with the announcement of its new Macbooks featuring the proprietary M1 Apple Silicon processor. But are they suitable for programming?

The simple answer is “it depends.” Let’s delve a bit deeper.

iOS and Mac Developers

For developers exclusively working in the Apple ecosystem, meaning those developing only for iOS or Mac OS, the answer is straightforward: YES, Macbooks with M1 are suitable for programming in this context. Apple is always very attentive to its ecosystem, providing a significant advantage for its products. Operating exclusively within the Apple hardware and software environment creates a magical realm where everything works seamlessly without issues or bugs (or at least very few).

If you fall into this niche, count yourself blessed! Stay there as long as you can because the outside world is a collection of bugs, errors, drivers, libraries, and more that can give you a massive headache.

Honestly, outside of YouTube, I have yet to meet a developer who deals ONLY with iOS development and can do without the components we Web Developers must use.

Android Developers

What about Android? Can you program with M1?

From what I understand, at the moment, it’s not possible because you can’t virtualize the Android emulator, but it should be possible soon. All we can do is wait.

Web Developers

If you are a web developer wondering if the Macbook with the M1 processor is the right choice, I’ll try to provide the best answer.

Given the vast world of web development, it all depends on what you do.

If you work on small websites, use only the browser and a text editor, then there’s no problem! You could even use a €20 Fire Stick TV, and you wouldn’t have significant issues.

Unfortunately, many times, this is not enough, and we find ourselves using quite resource-intensive software. For now, many software applications are available on Apple Silicon only through Rosetta, Apple’s emulator that allows running software developed for Intel. This results in increased slowness, although Rosetta is spoken of very highly.

Chrome, for now, only works this way, with Rosetta, and this is a problem for the vast majority of web developers. If you don’t use Chrome for development, you still have to use it for testing since it is the most widely used browser, and not being able to run it natively is a significant drawback. Fortunately, Google will soon release an ARM version, so there’s nothing to fear. Google has already played a little drama by releasing the M1 version and blocking it shortly after. They should release it again soon, for real this time!

It’s interesting how the world’s largest software companies can afford to make significant mistakes without major repercussions, while we small developers are squeezed for every tiny bug…

Besides Chrome, there are other software applications frequently used by web programmers that do not yet work properly, such as Docker, all the virtual machines (VMWare, Virtualbox, Parallels Desktop…), and Homebrew (it works but not yet 100%).

Personally, without these programs, this Macbook would be practically unusable for me! Okay, it’s a bit of a jab because they will surely fix these issues, but for now, they are indeed a problem.

Conclusion

From Apple’s claims and the initial tests on the web, it’s clear that these Macbooks are truly fantastic machines.

Fast, powerful, and with an infinite battery life! Marvelous.

For an average user, they are certainly great, fulfilling almost all tasks excellently. But for us developers, I think it’s still a bit early…

I’m writing this article at the end of November 2020, and at the moment, it seems challenging to use these Macbooks for programming without getting significant headaches.

My advice is to wait at least another year until the transition to the Silicon era is well-established. Then, we can undoubtedly enjoy the enormous advantages of these M1 Macbooks for programming without sacrificing our favorite software!