An up-to-date software engineer review of the Apple M1 chip on a MacBook Pro 13"

David Garcia
9 min readFeb 16, 2021

--

Source: “MacBook Pro 13-inch” @ apple.com

The long-expected Apple M1 hardware was released on 10th November 2020. Since then, I’ve been reviewing several posts on Medium, news on Internet portals and (the most important one for me) video reviews on YouTube.

Most of the reviewers (excluding the ones to promote the new hardware) have reported positive feedback (some people just brought a few “buts” but no negative feedback). However, I was not sure if those impressions were suiting my needs as a Software Engineer because I work with a particular ecosystem due to my career and hobbies.

So, after getting (through one of my best friends) a space grey MacBook Pro 13-inch with 16GB RAM and 1TB SSD, I decided to share my thoughts about my day-to-day using the M1 SoC and macOS Big Sur to do my work.

And before you get a wrong impression, no, this post is not about benchmarks and figures up and down (because there are many of them already online) but based on real impressions.

NOTE: I am not aiming to test how good or bad an Intel software performs on the M1 chip. If any of the them doesn’t run natively, then I won’t install it.

Homebrew software package manager

Source: “Homebrew — The Missing Package Manager for macOS” @ brew.sh

Nowadays, any macOS user with specific needs (especially on the software development side) knows what Homebrew is. Just in case you are not familiar with it, Homebrew is the missing free and open-source software package management system for macOS.

The first time I heard about Homebrew was around 6 years ago when I started to use MacOS X as my day-to-day operating system. A friend of mine told me about it, and I decided to try it as an alternative to pre-compiled packages such as MAMPP. The freedom I got using this option was just awesome.

Homebrew seems to work natively with the Apple M1, as I have been able to download and install it without being asked for Rosetta. The main problem I have found is the Terminal (as well as iTerm2) uses ZSH by default, so I needed to switch to Bash (my preferred one) to work with Brew efficiently (according to my habits). I also needed to update my ~/.bash_profile file and include the Brew path into the $PATH variable as the system was unable to find it until I implemented this configuration.

Docker

Source: “Install Docker Desktop on Mac | Docker Documentation” @ docs.docker.com

Is there any mid-level or senior software engineer that doesn’t know what Docker is? Thanks to Docker, we can run virtual containers that include particular software. It simplifies your development environment while keeping it clean because we can switch to any other software or a specific version every time we create a new project or resume a paused development.

Using Docker on Intel architecture has been my number 1 requirement, as it was the easiest way for me to run the same software versions locally before deploying it to the servers. So, using Docker on the M1 SoC is a must that I can’t ignore.

I am quite disappointed because both Docker Desktop Preview 7 and Preview 3.1.0 (60984) seem to work on Apple M1, but just after installing Rosetta. It means there is no native support for Docker yet for the Apple M1 SoC. Because my work requires me to use Docker, I have installed Rosetta after finishing this post to move forward without further blockers. Docker seems to work, but I needed to start setting the platform: linux/arm64 setting in my docker-compose files or running containers from the terminal.

JetBrains Suite

Source: “Online Hackathon | HackerEarth developer event | JetBrains PyChamps” @ hackerearth.com

Although Microsoft Visual Studio Code has become very popular, it’s an IDE that I can’t tolerate on my hardware. I am trying to run away from Microsoft supremacy, and installing Microsoft software is always my last resort.

That’s one of the reasons why I use JetBrains software instead, but not the only one. In my humble opinion, JetBrains has so many products because, as a company, they have built a set of incredible tools that are awesome, each one focused on the pros of each language, and not using a “generic concept” for “any language”.

All the JetBrains software that I have tested so far has worked extremely well and fast. JetBrains released native support for Apple Silicon almost immediately, meaning that no one in the software development world should suffer from using non-optimised software from JetBrains. I can’t speak highly enough of JetBrains for their commitment to bring great tools optimised for the Apple M1.

Team and work-related communications

Slack, Discord, Zoom and Microsoft Teams logos — Image made by myself

Slack has been the number one tool on many communities and companies to centralise internal discussions and release the mailboxes. Then Discord came into the game and took a chunk of communities (especially focused on gamers) and was also adopted by some businesses. Zoom became one of the most popular tools for video calls during the pandemic. And the Microsoft businesses adopted Microsoft Teams.

Each one of them has their own list of pros and cons, and even when businesses try to find out the best tools without splitting it into much different software, the reality is that if you want to take advantage of the best of them, you need to live with all of them.

In my opinion, Slack has been awesome for years, and Discord was a nice addition to handle other cases where Slack might not provide the best experience. Yet, Slack seems to be better for professional activity. Zoom has been invaluable for months, and I don’t think I’ll stop using it any time soon. If I keep my subscription or fall back to the free plan, I don’t know yet. And Microsoft Teams is the most crappy tool I ever used for comms, being even worst than the old but well known MS Messenger.

Apparently, Slack provides optimised support for the Apple M1 chip. However, Discord has decided to postpone their updates. According to the original forums, some posters state that Apple customers are a small fraction of Discord and the M1 users are even a smaller one, so upgrading the system for the ARM processors would cause more problems than solutions at the current stage. Very disappointing. I finally decided not to try installing Microsoft Teams, as I don’t want any Microsoft software in my new Mac. Zoom has a specific Apple Silicon version available (as a small link) on their Downloads page. Still, it works very well, and the Neural Engine provides great response for both static and animated backgrounds.

Personal communications

Source: “Signal vs Telegram: How WhatsApp’s rival messenger apps compare on privacy after concerns over data sharing” @ inews.co.uk

I’ve always been very cautious with WhatsApp since Facebook bought it, and I tried to reduce my usage on that App. And it has become one of my main concerns since the new updated policy was released, especially after Facebook proved to be ready to start a war with Apple due to their policies where now App developers must include what kind of data is being tracked and stored by the apps.

I adopted Telegram as one of my main Apps several years ago and saying that I am pleased is just not enough. It is one of my most valuables apps with no doubt. However, I have found Signal as an App that is more buggy and hard to use than any other, and I would even say it is worse even than Skype (how rare on me, saying a Microsoft product is better…), so I gave up with Signal.

As I mentioned, Signal is still a too young product with some buggy features (or at least this was my experience), so I decided not to install Signal. Also, as part of my New Year’s resolutions, I decided to stop using WhatsApp at some point, as I never felt safe knowing Facebook gets access to even my financial information and purchases records (as announced on Apple iTunes WhatsApp page), so I decided no to install the Desktop App. It means Telegram has been the only software that I have installed, and it was my surprise not only to see Rosetta is not needed but also that it performs extremely well.

Internet Browsing

Source: “Safari vs Brave: Which Brows­er Should You Use on iPhone” @ guidingtech.com

Apple claims Safari has improved awesomely, adding new browser extensions options, improving the performance and customising the user experience. Yet, Brave has been alongside me for years as my number 1 option against Google Chrome and its tracking, and I still find a bit hard to move away from Brave and switch to Safari. But does it worth changing or keeping my habits?

Browsing with Safari, I can experience a faster performance than usual. I am surprised to see how some pages seem to load faster than before (when browsing them from a Linux machine), as the server’s response time shouldn’t vary, but Safari has surprised me once more. The new option to start using browser extensions is great; actually, I have been using the Grammarly extension while writing this post. Other extensions such as Ghostery run under Rosetta, so it’s a bit tricky if you want to keep your M1 without Intel support.

Brave also has an optimised version for the M1 chip. It also seems to work very well and is offering all the same features that we already get on other operating systems and previous versions of Mac. The browser is still using the Chrome Web Store (as the browser is based in Chromium) so it means is my main alternative to Safari when I want to use extensions not available for the native Apple browser.

Is Apple Silicon Ready?

Source: screenshot taken from isapplesiliconready.com

This is a website that I discovered watching one of the video reviews on YouTube. It has a list of Apps available for macOS, and it reports if these apps are available and ready for the new M1, either being optimised for the ARM architecture of if they work through Rosetta 2.

Even if you don’t use the Apps listed there, it’s nice to see how the developers are transitioning to this new architecture and what you can expect from certain apps.

I didn’t use it as a reference for my testing, as I wanted to experience what Apps were ready and which ones were not, just in case the list was outdated.

The link to the website is below, under the Reference section.

References

Websites:

Images:

Software:

--

--

David Garcia
David Garcia

Written by David Garcia

Senior Software Engineer, Backend, NodeJS & Symfony developer, workaholic, passionate for new technologies and OSS contributor. https://linktr.ee/davidgarciacat

No responses yet