My Mac environment

I know that every software engineer has a development environment that he is favorited. This article records all my Mac environment in order to set up faster when I change the computer in the future.

Basic on the Mac

Home-brew

Every Mac lover may know this package management tool. This is my first installation when I begin to use a new Mac.

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

Wget

This is a powerful open-source software which I recommend you to install it. When you are a terminal passionate, you cannot miss this tool. I almost use it to download digital contents.

$ brew install wget

Nmap

As a computer security researcher, I always do something over the network. Hence, I need it. hmm…

$ brew install nmap

Building Development Environment

Xcode

It can be downloaded from the AppStore. But I recommend you download it through the developer website, that is faster than the AppStore.

SF Symbols

To search the system icon name in the iOS.

Git

$ brew install git

Well, sometimes view the git graph in the terminal is very ugly. So I recommend you to use some GUI tool to assistant you. Such as SouceTree is a great visual tool. But now, I try Fork, which is light and has a simple view.

Package management in the Xcode project

As an iOS developer, I used a lot of third-party libraries. There is two most popular management tool you can choose. But it almost depends on your team’s choice.

CocoaPods

$ gem install cocoapods -v 1.7.1
$ pod setup

Carthage

$ brew install carthage

Must have tools

Browser

Safari is my main browser, but I will switch to Chrome for certain development requirements.

Chat software

Most startups choose Slack as their communication tool. However, many Taiwanese companies are still using Skype. I used Telegram, messages are encrypted, when I was in a gambling company. And I use Line with my friends. However, it is annoying when I need to install individually thoes applications. Rambox is an all-in-one message center. Unfortunately, it begins to charge. But you can also install previous version 0.7.9.

Editor

Currently, I prefer to use Visual Studio Code which is made by Microsoft. You can install many extensions to enhance its features. I used to Sublime Text 2 which is similar but it is not free.

Optional

Design

In the past, many developer communicate with designer via Zeplin. But now, Figma is an alternative. It is free, and let you make an easy design by yourself.

Network

Proxyman

It enables develoepr to capture, inspect, and manipulate HTTP(s) request and response structures.

Online tools

Some simple requirement you can use the online tool to solve it.

JSON Editor Online

It is a web-based tool to view, edit, format, and validate JSON

WTF Auto layout?

UI bugs are not easy to understand on the Xcode’s console. This tool can convert constraint error log to the easy way.

Screen Sizes

You can find all of the screen sizes among Apple ecosystems.

iOS and iPadOS usage

As an iOS developer, you need to know users’ usage.

Swagger Editor

I very recommend your team to edit the API document via Swagger. It has a clear interface to understand each API action and It can post API just like Postman. I think it is powerful than Postman.

Finally, I know there are many useful tools so that you have a lot of installation steps. In order to reduce installation steps, I write a shell script (mac_setup.sh) to automatically install all tools which I mentioned above. Please feel free to use it and edit it to fit your demands. You can also leave your comments to introduce other awesome tools which I’m not used.

profile-image
Hello, My name is Nick, Taiwanese🇹🇼. I like to develop iOS Apps and use Unix-based operating systems. And, I love reading and traveling to fill to my life. This blog recorded all technical articles which I have faced and solved problems. Please leave your comment to discuss with me.
comments powered by Disqus