My Mac environment
25 Sep 2019I 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.