On November 10th, 2020, Apple revealed details of the M1 chip and announced a few updated computers in the Mac line-up that are built on the new Apple Silicon. What does this mean for Software Developers and Engineers? Should you get one?

The new models available are:

Ultimately, the best computer for software development is the one that fits the specification for your projects and desired workflow.

Let’s take a look at some points to consider when trying to decide if you should upgrade to the new MBP 13″.

Hardware Requirements

Depending on the type of development you’re doing, your hardware priority may shift. To cover a wide range of development tasks consider the full-stack developer; working on a web app with a backend such as Java, Python, NodeJS, or Dart.

Development Considerations

  1. SSD Storage
  2. Memory / RAM
  3. GPU
  4. CPU 
  5. Battery life

SSD

While developing for websites, mobile apps, or cross-platform apps, or interacting with files the number one priority is usually a lightning-fast SSD. As this is not part of the M1 chip, no problem here.

GPU and RAM

Next, the GPU and RAM are crazy important if you are manipulating media for the application, designing new screens/icons/images/logos, or rendering video content. 

According to Apple, the GPU outperforms many of the competitor PCs in graphics capabilities. However, at this time the M1 architecture does not allow for the use of Apple’s eGPU to boost performance. Without this, the GPU performs just a touch slower than the previous generation i7 MBP 13″ – likely due to the fans kicking in on the previous gen.

The usability of Memory is very difficult to quantify at this time. With an 8GB maximum for all of the new Mac seems a bit weak. Yet, with the new M1 architecture it may be possible for the MBP to use the 8GB more efficiently to achieve the same results a PC with 12GB or 16GB might.

iPhone users will be quick to point out that the current iPhone 12 has only 4GB of memory and performs just as fast as Android devices with 8GB+.

CPU

The speed of the CPU is important for development and the M1 architecture stands out with some impressive boasts of performance. The first-hand experience says that you can tell the new MBP is snappy while maintaining excellent battery life. Available threads that perform at a variety of speeds is excellent for development.

Battery

According to several reviews of the new MacBook Pro, while under the same conditions, the new generation shows a significant increase in battery life as well as a decrease in the overall temperature. Less energy wasted as heat.

Memory Revisited – Dual Boot

In some cases you may need to configure your MacBook with Dual-Boot or using Parallels and run Windows alongside MacOS. This is where the memory really becomes a stretch from a hardware perspective.

With optimized apps and Rosetta2 on Mac might make the M1 chip better utilize memory for MacOS like Big Sur, yet, Windows 10 will not have these optimizations. When you boot up into Windows, you’ve just got a Windows laptop with 8GB of memory…welcome back to 2014.

When using Parallels or VirtualBox vs a true dual-boot you run into even more of a memory issue as the memory needs to be shared between macOS and Windows, evenly splitting the RAM gives you what? …4GB… No thanks.

IDE Compatibility

Most existing applications that run on MacOS will continue to run on the new M1 chip, thanks to Rosetta 2. However, in order to get the most out of the new architecture apps need to be re-written into “Optimized Apps”.

Without being an optimized app, your current apps will – at best – perform the same as they do already. What does this mean for the IDE? Right now, only Xcode12 is optimized. Other IDEs are a work in progress.

VS Code – Optimized App?

VS Code Icon

As of now, VS Code has a defined outline for the upgrade to an “optimized app” for Apple silicon and Big Sur. Yet, still accessible through Rosetta 2. You can get a dev build of VS Code if you’re into that. Otherwise, you can follow the Github issue where the roadmap is defined.

Eclipse – Optimized App?

Eclipse IDE Icon

No. However, there are discussions within the project about what support for M1 looks like. Be careful because Eclipse does have a release name “M1” which should not be confused with Apple’s M1 chip, it does not imply support.

IntelliJ – Optimized App?

IntelliJ IDE Logo

As of Wednesday November 11th, 2020, the IntelliJ team stated that they are in the process of optimizing the IDE for Apple Silicon. Yet, the IDE works with Rosetta 2.

So what?

At this time, I would not recommend getting the new MacBook Pro 13″ for software development. The current set of devices that are available are a test for Apple. I will personally reconsider the M1 chip once the 16″ MBP, iMac and Mac Pro are updated.

In order to consider moving to the new Mac line-up Apple would need to do the following:

  • Allow for increased Memory/RAM (minimum 16GB, 32GB+ is preferable)
  • Allow for the use of eGPU
  • More non-Apple companies start creating builds for the latest Apple architecture