My development environment on macOS - Macbook Air M1 (2024)

I maintain this note as my instruction for setting up macOS for development. Currently, I apply this on my Macbook Air M1 2020 - 16GB RAM and 512GB SSD.

My first experience with this laptop was pretty good. Right after receiving my new Macbook, I upgraded it to macOS Monterey 12.1 for the latest OS. I installed some software and tested out some tools I often use for development:

Daily Apps:

  • Google Chrome (from Chrome download page)
  • MS Office: Downloaded from my Office 365 account
  • My favorite window management tool for macOS: Rectangle
  • Anydesk for remote desktop control

Coding IDEs:

  • Visual Studio Code (from Microsoft)
  • XCode (from App Store) - The best IDE for macOS
  • Android Studio for Android Development

Utilities:

  • ZSH (preinstalled, but need configuration)
  • Brew (from Homebrew) - package management for macOS
  • Hugo (for maintaining websites and blogs)
  • CMake for C++ development

Others:

Some people complain about the bugs in the new Apple silicon (M1 chip). However, for a few days of using it, I didn't see much trouble in my development job.

1. How to install almost packages on macOS?

You can install a lot of software on macOS by three following ways:

  • Install from App Store. Just login into App Store with an Apple ID, and find and install the software.
  • Install from Homebrew. After install Homebrew for macOS (Homebrew), open the Terminal and type brew install <package name>.
  • Install from downloaded packages. Download from vendor websites, and run the installation wizard, or copy the application to the Applications folder of macOS (~/Applications).

2. Homebrew first!

Homebrew is a package manager for macOS, which is like apt on Ubuntu/Debian, yum on CentOS, or chocolately on Windows. Homebrew saves me a lot of time as I can use it for convenient package setup instead of going to software homepage, download each of them and install manually. To get brew installed, you need XCode first, and then install Homebrew using a bash script.

  • Step 1: Setup XCode

XCode is a development toolkit / IDE developed by Apple, which you may need to installed when using Macbook for development, especially for macOS and iOS development. It is also needed for Homebrew. Go to your App Store on your machine, search for XCode, and install it.

XCode

It takes me a long time to install XCode. The installation pack can be > 12GB, depending on the version you try to install. Take a coffee and relax, or keep doing other tasks in that time.

After installing, you may want to open XCode or use commandline to accept the developer license. You can do this by typing into Terminal:

1sudo xcodebuild -license

Scroll to the bottom and accept this license. In the recent XCode version, fortunately, you can use following line to accep the developer license quicker without reading.

1sudo xcodebuild -license accept
  • Step 2: Install Homebrew

After your XCode IDE has been installed, copy and paste this line to get Homebrew (I took it from Homebrew homepage):

1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Add Homebrew to the PATH:

One more important step after installing Homebrew is to add it to you PATH. In the current version of macOS, ZSH is the default shell, so:

1echo 'PATH="/usr/local/bin:$PATH"' >> ~/.zshrc

If you are using Bash, replace ~/.zshrc with ~/.bash_profile.

1echo 'PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

After this step, open a new Terminal to use Homebrew. One more tip is that you can use brew doctor to check your brew installation.

brew doctor

2. Install Daily Apps

Web browser - Google Chrome I don't hate the default browser, Apple Safari. Instead, this browser has a nice minimal design and naturally integrates best with macOS ecosystem. However, I also use other machines with Linux and Windows inside, so I choose to use Chrome to take advantage of synchronization feature from Gooogle. With Chrome, I can synchronize accounts, extensions, browser settings and passwords between my machines. You can download Chrome from the official download page or using brew to install:

1brew install --cask google-chrome

Chrome on my Mac

Microsoft Office: Apple has their own office toolbox including Keynote, Numbers and Pages. However, to ensure the consistency and compartibility between my devices, I buy and install Microsoft Office on my machines, including macOS. If you also bought MS Office, just login to your account and download your applications. MS Office support for macOS is pertty good.

Window management tool: My favourite window management tool on macOS is Rectangle. If you want to arrange your windows with keyboard shortcuts, for example putting VS Code on the left and Chrome on the right, Rectangle is the right tool for you. After installing Rectangle, I can use ⌃ + ⌥ + ← to align a window to the left half of the screen, while ⌃ + ⌥ + → to put another window on the right. It a common setup pattern for me, and you can discover other shortcuts in Rectangle settings.

Arrange VS Code and Chrome with Rectangle

Install Rectangle using Homebrew:

1brew install --cask rectangle

Anydesk: This is my choice for daily remote desktop control. You can consider Teamviewer or Chrome Desktop Remote too. I prefer Anydesk because it is a free and powerful solution. The binary size is also pretty small. Go to Anydesk.com to download your app or:

1brew install --cask anydesk

3. Coding IDEs

Below are three IDEs I will need for my daily job. Let's get them installed.

  • Visual Studio Code (from Microsoft)
  • XCode (from App Store) - The best IDE for macOS
  • Android Studio for Android Development

VS Code

Visual Studio Code is my favorite code editor and the program I spend most of my time. I downloaded the installation package from Microsoft for my machine. However, if you installed Homebrew before (see Untilities in the next section), you can also use brew to install VS Code (link). After installing, I often synchronize my settings and setup font for VS Code environment.

1brew install --cask visual-studio-code
  • Synchronize settings for VS Code

I usually switch between my machines (on both macOS, Ubuntu and Windows), so I synchronized my VS Code Settings using my Github account (this is an internal feature of VS Code). If you want to use my settings as a reference, you can find my setting file here.

  • Setup Fira Code font

In my VS Code settings, I use Fira Code as the default font for coding. I like the feature that joins multiple character into one (for example => into 1 arrow ⇒, or showing == as only 1 long =). To install this font on macOS, you need to go to font releases page, download the latest version and install ttf files using macOS FontBook.

FiraCode

Note: Installing XCode first is also required for Homebrew setup on the next section.

Android Studio for Android app development

Sometimes I need to build some Android applications on my machine. That's why I need Android Studio. This IDE (and also Android emulator) can now run smoothly on mac M1 with native support for Apple Silicon. Install:

1brew install --cask android-studio

The build time on my Macbook Air M1 (16GB RAM - 512GB SSD) is pretty good (often better than my i5 8400 - 16GB RAM desktop). Tip: If your emulator freezes when running apps, try increasing RAM or heap size of your virtual device.

4. Utilities

Terminal setup

Almost developers spend a lot of time with their terminal, so setup a Terminal environment they are familar with is important.

ZSH Shell is my favourite shell (Just like the default Bash in Ubuntu). I often use it on my development machines because of super cool features ZSH can provide. Fortunately, macOS has this shell as default, and I only have to confugure it.

1sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
1git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):

1plugins=( 2 # other plugins...3 zsh-autosuggestions4)
  • iTerm 2: The default Terminal app on macOS is just fine. However, iTerm 2 is prefered by many developers thank to high customizability and useful features (for exmaple spliting terminal windows). Install iTerm 2 using brew. From now on, when I use "Terminal", I mean you can use default Terminal or iTerm 2.
1brew install --cask iterm2

I also change color preset to Solarized Dark in iTerm2 Preferences.

iTerm2 Preferences

You can also setup attractive theme for Terminal with powerlevel10k (link).

  • Other Terminal utilities:

You may want to install following utilities: tmux, htop.

1brew install tmux2brew install htop

Hugo - Static site generator

I develop and maintain some websites on Hugo - a lightweight but powerful static site generator. This blog is also written using it. To install Hugo with Homebrew, type into your Terminal:

1brew install hugo

This command installs hugo-extended version. On other platforms, we should find extended version of hugo to install; however, in macOS, the default version is hugo-extended, so just one line. My installed package is also the latest one. When using apt to install Hugo on Ubuntu, I only receive a very outdated version, so I have to download and install hugo from Github release manually.

CMake

macOS comes with a default C++ compiler, so we may not need another to compile C++ for macOS. I often use CMake to write make files. Download and install CMake from the official download page or brew (may be outdated):

1brew install cmake

Or for CMake GUI

1brew install --cask cmake # CMake GUI

Launch CMake GUI from Launchpad or Spotlight to verify if it works.

Thanks for reading my note. This note will be update gradually when I recognize something I need on my machine on daily development environment. Feel free to put a comment for your own package setup and ask question about my experiences with my Macbook Air M1.

My development environment on macOS - Macbook Air M1 (2024)

FAQs

Can I do app development on MacBook Air M1? ›

MacBook Air with M1 would be enough for the majority of mobile developers. However, I'd recommend buying the one with 16 GB of RAM. That way, you'd be able to build apps for both Android and iOS as well as try out cross-platform development (Kotlin Multiplatform, Flutter).

Is M1 MAC good for development? ›

The performance of the M1 is faster than the Intel i9 MacBook Pro. So it has the horse power to use as a development system. There are two things to be aware of: At this time you cannot run Windows as a Virtual Machine on an M1 based Mac.

Can MacBook Air M1 run Unreal engine? ›

Yes, you can easily, for handling larger files an 8 GB GPU will be better. Laptops are expensive and when you use them for 16 hrs a day (which you will need to do while editing/animation/games) their lifespan will shorten. Repairing laptops and MacBooks are very expensive. If you need portability go fo…

Is MacBook Air enough for app development? ›

Yes, MacBook Air is powerful enough to help programmers with their coding needs. However, you must choose the latest M1-chip models. While the older MacBook Air with Intel i5 processor was also fine for basic development, the performance was limiting in many ways.

Is MacBook Air M1 8gb good for programming? ›

Nope. 8 GB of RAM may be enough to handle basic needs of mobile and web development but it's never a good idea to start at limits as a developer. The tools needed for such development already take up some memory and that only goes up when you want to debug, use emulators, have some backend services run locally, etc.

Why are the M1 Macs so powerful? ›

Apple uses memory, which is designed to serve both large chunks of data and do it very quickly. It is called 'low latency and high throughput'. This removes the need to have two different types of memory and all the copying of data between them, making the M1 faster.

How many years will M1 Macs last? ›

Macs don't usually slow down like Windows PCs do. The M1 should last you six years.

Are M1 Macs good for 3D rendering? ›

It's faster than basically anything that Apple has ever used in a system ever, so that won't be a problem. The ARM-based Macs are okay for 3d modeling and rendering, but very few creative apps support M1 or the Metal API natively. Blender and DaVinci Resolve are two that I know of.

Where is my development folder on Mac? ›

That has changed, you can find the "developer folder" inside of the app package. Try cd /Applications/Xcode. app/Contents/Developer/ .

How do I enable the Develop menu on my MacBook air? ›

If you don't see the Develop menu in the menu bar, choose Safari > Preferences, click Advanced, then select “Show Develop menu in menu bar”.

How do I find my Mac environment? ›

On Mac or Linux

Launch Terminal or a shell. Enter printenv. A list of all the environment variables that are set is displayed in the Terminal or shell window.

Is MacBook Air M1 good for game programming? ›

Apple MacBook Air (M1, 2020)

Even two years after release, the MacBook Air is a brilliant laptop for game design, offering you plenty of power to code on. And, like the MacBook Pros on this page, it can run iOS apps natively.

Can MacBook Air M1 run Visual Studio? ›

Visual Studio 2022 for Mac brings a new, fully native macOS UI built on .NET 6, plus native support for the Apple M1 chip.

Can MacBook Air M1 handle gaming? ›

M1 MacBook Airs are vastly superior to Intel-based MacBook Airs. And they can run a surprising amount of modern games with acceptable performance levels. However, some games are still too demanding for a MacBook Air, especially those that have not been properly optimized for Apple Silicon processors.

Is 8GB RAM enough for development Mac? ›

For the majority of users, 8GB of RAM is enough. Unless you're working with huge datasets, rendering high resolution video, compiling large amounts of code, or engaging in any other memory-intensive tasks, the 8GB M1 (Apple's first generation Apple Silicon processor) MacBook Pro should serve you well.

Is 16gb RAM enough for Xcode? ›

4) for Xcode 11.0 (see alternatives for PC here) At least an Intel i5- or i7-equivalent CPU, so about 2.0 GHz should be enough. At least 8 GB of RAM, but 16 GB lets you run more apps at the same time. At least 256 GB disk storage, although 512 GB is more comfortable.

Does Python work on Mac M1? ›

Python installed by

Miniforge-arm64, so that python is natively run on M1 Max Chip.

Is 16gb RAM enough for Web development? ›

To allow for a reasonable amount of multitasking, researching, fast build times, and a responsive development environment, 16 GB of memory is a good minimum requirement. For extensive multitasking, memory-hungry tools and build processes, and virtual machines, at least 32 GB of memory may be worth the investment.

Is 256GB SSD enough for programming? ›

Every operation will be a lot faster with an SSD: including booting up the OS, compiling code, launching apps, and loading projects. A 256GB SSD should be the baseline. If you have more money, a 512GB or 1TB SSD is better.

Is MacBook Air 13 good for coding? ›

MacBook Pro 13-inch (M2, 2022)

The 13-inch MacBook Pro remains a brilliant laptop for programming on. It features Apple's brand-new M2 chip, and this allows it to run apps with ease, and compile code quickly - and it's faster than the M1 chip in the previous model.

Is M1 stronger than i7? ›

But unlike the eight-core Apple M1 chip, the new Intel Core i7 is the quad-core CPU with eight threads. And even though Intel offers a higher base frequency, it still lags behind the M1. So, if we dismiss the software adaptation factor, M1 wins the Apple M1 chip vs intel i7 standoff in speed and overall performance.

Is M1 better than i9? ›

Overall, it's safe to say that the new Intel Core i9-12900HK is performing better than both M1 Pro and the M1 Max in the CPU-centric benchmarks. Even in tests involving the graphics unit, the MSI is able to hold its own against the MacBook Pro.

Are M1 Macs future proof? ›

However good the original M1 Macs might be, and however easily they can handle today's photo-editing and video-editing processes, the relatively low price and the RAM limit just don't offer that confidence. But the power, performance and greater future-proofing of the M1 Pro and M1 Max models change all that.

Should I shut down my Mac M1 every night? ›

Many experts suggest shutting your Mac down every 2-3 days. So, if you're not planning on using your device for more than 36 hours, then a shutdown is a great option. Go to the main Apple menu > System Preferences > Battery. Select Schedule, and use the drop-downs to set your preferences.

Do M1 Macs overheat? ›

So answering the question I get a lot from Mac users, does the M1 MacBook Air overheat? The answer is yes, it does. It's actually a common problem for all MacBooks. Overheating can cause long-term issues with your battery and, in some cases, cause hardware damage.

Can MacBook Air M1 last 5 years? ›

A well-cared for MacBook Air will likely last 5-7 years!

This is why so many Apple consumers feel the need to replace their Macbook Air after 5-7 years and this is indeed the case with most laptops in general.

Can MacBook Air M1 handle Blender? ›

Blender 3.1 now has Metal GPU rendering for Macs with the M1 chip and its variants. A beta version of Blender 3.1 with Metal support was released back in December 2021, and the update is now available to all users.

Can MacBook Air M1 render 4k? ›

The fact still remains: If you are running Final Cut Pro X on a MacBook Air with a M1 chip, then you can expect 4k Video editing without much issue at all since the higher resolution and RAM allow for efficient rendering of HD and UHD video.

Is MacBook M1 good for graphic designing? ›

For a good graphic design laptop, you'll want a modern processor from either Intel or AMD. When it comes to MacBooks, Apple has its own chip - the M1 - which performs brilliantly as well. We recommend an 11th gen Intel or AMD Ryzen 4000 mobile processor if you want to future-proof the laptop.

Can MacBook Air be used for iOS app development? ›

A: Yes you can use any Mac to do software development.

Can Python run on MacBook Air M1? ›

Python installed by

Miniforge-arm64, so that python is natively run on M1 Max Chip.

Is MacBook Air M1 good for game programming? ›

Apple MacBook Air (M1, 2020)

Even two years after release, the MacBook Air is a brilliant laptop for game design, offering you plenty of power to code on. And, like the MacBook Pros on this page, it can run iOS apps natively.

Can you develop Android on Mac M1? ›

Till a few months back atleast, there was no native support for android studio on the m1 macs and there was no direct emulators.

Is 16gb RAM enough for Xcode? ›

4) for Xcode 11.0 (see alternatives for PC here) At least an Intel i5- or i7-equivalent CPU, so about 2.0 GHz should be enough. At least 8 GB of RAM, but 16 GB lets you run more apps at the same time. At least 256 GB disk storage, although 512 GB is more comfortable.

Can you do Web development on a MacBook Air? ›

The MacBook comes with a retina display of 2304x1440 (translating as 226 pixels per inch), which is great for developers who have the pleasure of working with retina graphics for the web.

Which Mac is good for app development? ›

27-inch iMac (2020) — best desktop Mac for app development

And they don't come much better than the 27-inch iMac. The base model has a 3.1GHz six-core Core i5 processor with a Turbo Boost up to 4.1GHz, 8GB of RAM, 256GB SSD, two Thunderbolt 3 ports and four USB-C ports.

Is M1 chip good for Python programming? ›

To conclude — Python is approximately three times faster when run natively on a new M1 chip, at least per this benchmark.

Is Mac M1 good for data science? ›

Current and (Possible) Future Benefits for Data Science

Scores for the M1 Max show a single-threaded score in the 1,700 to 1,800 range and a multi-threaded score of 11,000 to 12,000 (this is 15% higher than the fastest Intel laptops). Also, MacBooks with M1 Pro and Max have excellent battery life.

Which MacBook is good for Python programming? ›

The MacBook Pro (2021)

It is ideal for a variety of applications, including programming, design, art, and student life. It has a 9th-generation Intel Core i7 – i9 processor and AMD Radeon Pro 5300M – Radeon Pro 5500M graphics card, as well as 16GB – 64GB of RAM.

Can I develop .NET on Mac M1? ›

On Apple Silicon machines (also known as M1 or ARM), Visual Studio for Mac 8.10 does not support the . NET 6 Arm64 SDK. . NET 5 and . NET Core 3.1 x64 SDKs are supported. .

Is M1 good for iOS development? ›

Conclusion. At the end of the day, if you're doing professional development in Xcode all day, there is little doubt that upgrading to one of these new M1 MacBook Pros is a great choice. And if working in a large iOS codebase with a bunch of other passionate developers sounds interesting to you, come join us.

Is Visual Studio native for M1 Mac? ›

Visual Studio 2022 for Mac brings a new, fully native macOS UI built on .NET 6, plus native support for the Apple M1 chip.

Top Articles
Latest Posts
Article information

Author: Jeremiah Abshire

Last Updated:

Views: 5826

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Jeremiah Abshire

Birthday: 1993-09-14

Address: Apt. 425 92748 Jannie Centers, Port Nikitaville, VT 82110

Phone: +8096210939894

Job: Lead Healthcare Manager

Hobby: Watching movies, Watching movies, Knapping, LARPing, Coffee roasting, Lacemaking, Gaming

Introduction: My name is Jeremiah Abshire, I am a outstanding, kind, clever, hilarious, curious, hilarious, outstanding person who loves writing and wants to share my knowledge and understanding with you.