爲何 Mac 適合編程?

  1. 強勁的 GPU 和 CPU。個人家用電腦和筆記本都配了頂級的顯示器和 GPU。Steam 上有 2000 +遊戲,我和孩子玩了不少,而且我對 CUDA 和 深度學習很感興趣。而 Mac 對此就無能爲力了。對我來講,強大的 GPU 是很是重要的,因此我配了一臺搭載 GTX980Ti 顯卡、32 GB 內存、3440×1440分辨率的曲面屏、i7 WildDogPro 處理器的電腦。而價格跟 MBP Retina 的價格相差無幾。php

  2. 與服務器真正的兼容。我曾工做過的一家公司,半數腳本是用 Linux 腳本和 GNU 工具寫的,另外一半是 Bash 和 BSD 工具寫的,由於這部分開發者堅持用 Mac 開發,並認爲 Mac 和 Linux 相差無幾。我只想說,這真的太亂了。後來,我花了幾周時間重寫了代碼(爲了兼容)。這些人一邊說:「Mac OS X 是不一樣的」,但另外一邊又說:「Mac OS X 跟 Linux 相差無幾」。但事實並非,Mac OS X 與 Linux 差不少。html

  3. Linux 使我更高效。幾乎不須要切換環境,我可使用相同的工具,專一編寫腳本,與服務器無縫銜接。至今,我還沒發現哪一個 Mac 用戶能展示出令我印象深入的 腳本編寫能力。我曾經管理過一個須要超過 100 臺以上 Linux 服務器集羣的軟件,除了 Linux ,其它系統根本勝任不了這個任務。前端

  4. Linux 上一切容許正常(Everything just works)。相對那些用 Mac 的同事,我在 Linux 上碰到的問題更少。不須要安裝 homebrew、fink、MacPorts,只要運行 suao apt-get update 和 sudo apt-get upgrade 這兩個命令就能夠了。團隊裏有少數人還在堅持使用 Mac,他們認爲這是一種榮耀。編寫腳本和程序設置電腦, Mac 大概要 2-3 天,而 Linux 只要一個小時,並且幾乎是全自動化的。java

  5. Linux 能作 Mac 不能作的事。有一天,咱們須要超高清分辨率的屏幕截圖,在 Linux 上只要輸入: $ xrandr --output DP-2.8 -s 3440x2880 --panning 3440x2880 ,以後用 Chrome 把圖片放大一倍,並用 Ksnapshot 得到所需圖片,先後只須要幾分鐘。誰能在 Mac 或者 Windows 上實現?node

  6. 「Linux 上不能運行商業軟件」這個爭論是毫無心義的,尤爲是在硅谷,這裏早就不使用微軟的 Office 軟件了。我使用 Balsamiq 三、Slack、DropBox、Chrome、Hangout、Google 辦公套件、GoToMeeting、WebStorm、Skype、Gimp、Insync等軟件…對了,在休息時間我會在 Steam 上玩會遊戲。全部程序都運行良好,幾乎沒有應用程序或者系統崩潰。Webstorm(JetBrains IDE)在 Linux 上更友好,一樣,NodeJS、MongoDB、MySQL和其它一系列開發工具在 Linux 都比 Mac 友好。python

那就來選一臺Mac電腦吧,戳這裏react

Mac開發環境配置

環境變量
環境變量(environment variables)是全部操做系統中的一個通用概念,簡單來講就是系統啓動以後,會預設一些全局的變量信息供全部應用程序來使用。打個比方,若是我聲明「接下來文章裏說的 env 是表示 environment variables 的意思」,其實就是在這篇文章的環境下,定義了一個環境變量 $env = 「environment variables」 。android

在一個操做系統中,能夠把一個目錄名、命令行語句、數值或字符串定義成一個環境變量。如下截圖展現了 Windows 操做系統中預設的一些環境變量:

其中有一個比較特殊的環境變量叫作 系統 path 變量,它的用途是定義一組全局目錄路徑。當在命令行終端下運行一個命令行時,若當前路徑中不存在該命令,則會在系統 path 變量所定義的目錄中按前後順序一一查找,查找到則執行,若是遍歷完 path 中全部目錄都未查找到,則返回沒法找到該命令。git


Shell 終端
Shell 能夠用來執行命令行,在 Mac 下打開 Terminal(終端)程序,會自動開啓一個 Shell 命令行界面,而 Shell 每次在被打開(或執行)的時候會自動加載默認配置文件。Mac 和 Linux 默認的 shell 都是 bash,其中 Mac 的 bash 默認配置文件是 .bash_profile ,Linux 的是 .bashrc 。Mac 下經過修改 .bash_profile 文件能夠進行一些環境變量的配置。程序員

接下來實際操做演示如何使用 Terminal 在 .bash_profile 中配置 ll 快捷命令,其中我會順帶使用一些經常使用命令,它們含義以下:

cd 跳轉至目錄
ls 列出當前目錄下的文件及文件夾
ls -l ls 命令加 -l 參數表示列出更多詳細信息
mv 移動 / 重命名文件
touch 新建文件
rm -r 刪除文件,-r 參數表示遞歸刪除目錄
pwd 顯示當前目錄
~ 波浪號表示當前用戶根目錄,通常用戶的配置文件都放在這裏
echo 打印字符串或變量

將結果輸出至某文件中
cat 輸出文件全文內容
source 執行某一個文件,一般 .bash_profile 修改以後須要執行下 source 命令(或者新開一個 shell)來保證配置生效


此外,管道命令 | 也是 Shell 中十分經常使用的命令,它用於將前一個命令的輸出結果做爲後一個命令的輸入參數。

例如使用如下命令查看 7070 端口是否有進程佔用:

netstat -an | grep 7070

Mac 下默認的 Terminal + bash 不夠強大,推薦換成 iTerm2 + zsh ,如下是具體的配置方法:
一、安裝 iTerm2
安裝後打開 iTerm2,按下 ⌘, 進行如下配置用來提高逼格:

設置窗口透明度。以下圖,Preferences -> Profiles -> Window -> Window Appearance 設置 Transparency

設置打開窗口快捷鍵。Preferences -> Keys -> Hotkey 推薦把快捷鍵設置成 control+反引號(數字1左邊那個鍵)

iTerm2 支持窗口切分,使用 ⌘d 可橫向切分紅兩個 shell。

二、安裝 zsh
安裝完成後還須要進行必定的配置,讓 zsh 複用 bash 的環境變量配置,具體步驟以下:

在線自動安裝 zsh 。在 iTerm2 中執行如下命令 sh -c 「$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)」
使用 vim 編輯器打開用戶 zsh 配置文件,vim ~/.zshrc ,vim 與普通編輯器有很大差別,使用方法可自行百度學習
文件打開後,先按字母鍵大寫 G(跳至文件末尾),再按下字母鍵小寫 o(新插入一行,同時進入編輯模式),輸入如下字符 source ~/.bash_profile ,而後按下 Esc 鍵退出編輯模式,再依次按下 :wq 保存關閉文件

三、安裝 brew
Mac 安裝其餘命令行,須要一個相似 Linux apt-get 這樣的包管理工具,運行如下命令便可自動完成安裝 brew 命令:

ruby -e 「$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)」

安裝完成後,如想安裝 wget 命令行(一款經常使用的爬蟲下載工具),只需在 shell 中運行 brew install wget。大多數命令行均可以經過 brew 進行安裝和管理。

SSH 遠程鏈接
ssh 是 Mac/Linux 下一個遠程鏈接主機的命令行工具,兩臺機器創建一個 ssh 鏈接以後能夠進行一系列的加密指令和數據傳輸。ssh 十分重要,每一個愛編程自由的人都應該掌握。

在開始學習 ssh 以前,咱們須要有一臺 Linux 的主機(或者另一臺 Mac 電腦)用來做爲遠程被訪問的機器。因爲國內的 阿里雲、騰訊雲 價格略高,建議能夠買一個國外的 VPS(虛擬獨立服務器),Linode / Vultr 加州機房在國內的訪問速度不錯,Vultr 最便宜的主機 30RMB/月,不過網速最快的還屬 Google Compute Engine 。使用 Google 的雲服務須要解決這樣一個悖論:一方面你須要能打開 Google 的網站才能購買他的 VPS 服務,另一方面你須要有了他的 VPS 主機才能經過 SSH 打開他的網站。(這是老大哥留給咱們這代人的難題)。

假設你已經有了另一臺 Linux 主機,IP地址 爲 1.2.3.4,用戶名爲 root ,使用如下命令可發起創建 ssh 鏈接:

ssh root@1.2.3.4

此時會要求輸入 root 用戶的密碼,輸入完成後便可登陸至遠程機器。若是不想每次都輸入密碼,則可使用 ssh 密鑰文件鑑權。在使用 git/scp/rsync 等命令時,配置 ssh 密鑰文件能省去每次輸入密碼的麻煩,其配置方法只需三步:

安裝 ssh-copy-id 命令行工具 brew install ssh-copy-id
生成本機密鑰/公鑰文件 ssh-keygen -t rsa
將本機公鑰上傳到遠程服務器上 ssh-copy-id root@1.2.3.4

注:ssh 端口映射
ssh 協議默認使用 22 端口鏈接,經過 -D 參數可指定將該 ssh 鏈接通道映射到本機的某個端口,而且該加密通道支持 SOCKS 代理協議,這意味着本地應用程序經過此端口傳輸數據時,其實是使用遠程服務器的網絡請求的數據。如下命令行演示了靜默映射 ssh 鏈接至本地 7070 端口:

ssh -g -N -D 7070 -f root@1.2.3.4

接下來咱們驗證下是否映射成功。打開 System Preferences -> Network ,點擊當前使用中的網卡 -> Advanced…(高級) 配置面板,進行如下設置:

設置完成後在百度搜索IP看看本地網絡是否變成了遠程機器的IP。使用 Vultr VPS 的同窗能夠嘗試打開下 Google.com 透透氣,學會使用 Google/Stackoverflow/Github 找到技術問題的解決方案,是高級程序員的基礎素質。

HOMEBREW
Homebrew 是強大的終端工具,用來管理不少在終端下操做的程序以及軟件包的依賴,對於常常須要使用終端應用的程序員來講,是必不可少的第一步!

打開終端,安裝命令:
/usr/bin/ruby -e 「$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)」

上面命令,我但願你們不僅是複製粘貼運行就完事,更但願你們能瞭解更多:

/usr/bin/ruby -e:使用ruby環境運行
curl -fsSL:使用curl命令下載
瞭解了這2點,那麼ruby環境、curl命令和參數的做用,相信你們就能夠自行搜索深刻學習,而不是片面過一次複製粘貼運行,達到學以至用,這纔是真學習!

brew 一些經常使用命令:
brew search
brew info
brew install
brew remove
brew update
brew upgrade

命令行工具
若是不是開發 iOS 或 macOS 可能就沒有必要安裝Xcode,可是可能須要安裝一下Xcode 命令行工具,由於不少環境和軟件都會使用到和依賴它(下面說到的Carthage、python3就依賴它)。

xcode-select --install

xcode-select 這個命令還能夠切換 xcode build 的版本(目錄),能夠 xcode-select --help 查看更多。

這裏提醒一下新手,終端的命令,若是記得命令名字,不記得用法,可使用:
xxx --help

也能夠用:
man xxx

–help 和 man 命令的區別,是man命令是詳細全面的介紹

NODE/NPM
Node(Node.js) 是一個基於Chrome V8 引擎、可以在服務器端運行JavaScript的開放源代碼、跨平臺JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式I/O 的模型,使其輕量又高效。

brew install node

安裝 Node 後,也會自動安裝npm工具。npm 即 node package manager,用來搜索、下載、管理 Node.js 相關的套件。

npm 一些經常使用命令:
npm help //查看npm幫助
npm find //查找組件
npm install //安裝組件
npm remove //刪除組件
npm update //更新組件

Node 除了用於前端/後臺開發外,react native、Hexo博客也是依賴 Node 環境,更多的 Node 知識,我也還在努力學習中,後續有新認識,再回來更新啊!就不誤人子弟啦~

VI(VIM)
vi 是 visual interface 的縮寫,vim 是 vi IMproved(加強版的vi)。vi(vim) 命令繁多,可是若是靈活使用以後將會大大提升效率!今後不用鼠標不是夢!

vi(vim)是 Unix/Linux 終端自帶的,因此 macOS 也自帶。那麼 vi(vim) 要配置什麼呢?

就是你們以爲 vi(vim) 好用,可是,還認爲能夠更好用,因此,有不少的插件(用更少的按鍵,實現更多更合理的功能),例如實現文件瀏覽(NERD Tree),代碼補全(YouCompleteMe),語法檢查(syntastic),文件模糊搜索(ctrlp),顯示vim狀態欄(Vim Powerline),主題顏色(Molokai),顯示文件結構(tagbar)等多種功能

vi(vim) 操做的快捷鍵教程能夠參考樓主以前的文章:vi(vim)快捷鍵小記

vim 設置編輯文本語法高亮:

vim ~/.vimrc

syntax on

GIT
git的做用就很少說了,若是是剛畢業的新手入門,建議自行學習,對你的開發幫助必定很是大~

git 安裝:
brew install git

git基本配置:
git config --global user.name 「iHTCboy」
git config --global user.email "ihetiancong@gmail.com"
git config --global color.ui true
git config --global alias.co checkout # 別名
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global core.editor 「vim」 # 設置Editor使用vim
git config --global core.quotepath false # 設置顯示中文文件名

用戶的git配置文件目錄: ~/.gitconfig

tig 高亮美化, 讓 git 命令行可視化
git 更多命令教程,你們自行搜索,若是要達到熟悉,仍是要多實踐練習啊~ 固然,原理也是必不可少的一步!

PYTHON3
python3 是將來,因此仍是要安裝使用和開發的!
brew install python3

查看 python3的版本:
python3 --version

python 能作的事件就很少說了,人工智能,機器學習,大數據分析,爬蟲,web,能夠說python已經滲透到各個地方~

COCOAPODS
CocoaPods 是iOS的包管理工具之一,相似於 java 的Maven、Node.js 的 npm、Python 的 pip、PHP 的 Composer、Ruby 的 gem。

CocoaPods 基於Ruby開發的,所以安裝CocoaPods前須要先安裝Ruby環境。而前面提到macOS系統默認自帶Ruby環境! 因此,直接用 Ruby 的 gem 環境安裝吧~

1.安裝命令:
sudo gem install cocoapods

2.配置CocoaPods環境,安裝Specs庫,因爲庫很大(幾百MB),須要一些時間和網速:
pod setup

pod 一些經常使用命令:
pod --version //pod版本
pod init //建立Podfile文件
pod install //項目pod安裝
pod update //項目pod更新
pod search //搜索庫

CARTHAGE
咱們使用包管理,就是爲了集成第三方庫的時候更加方便,迅速。有時候iOS包管理工具 CocoaPods 處理因包管理而致使的錯誤又浪費了咱們不少時間。而 Carthage 使用的是一種非侵入性的哲學,Carthage 不會對咱們的項目結構進行任何修改,更很少建立 workspace。它只是根據咱們描述文件中配置的第三方庫,將它們下載到本地,而後使用 xcodebuild 構建成 framework 文件。

另外 Carthage 除了非侵入性,它仍是去中心化的,它的包管理不像 CocoaPods 那樣,有一箇中心服務器(cocoapods.org),來管理各個包的元信息,而是依賴於每一個第三方庫本身的源地址,好比 Github。

安裝:
brew install carthage

carthage 一些經常使用命令:
carthage version //查看版本
brew upgrade carthage //升級carthage
carthage update //安裝或更新項目的庫

FINDER 訪達
不少人可能跟我同樣,不喜歡用第三方的文件管理應用,通常蘋果自帶能用的,我都不會使用第三方,一方便遷移成本高,另外一方面系統自帶的穩定性和內存佔用都是作的較好。

對我來講,常常的痛點是,沒有絕對路徑顯示!!!在 macOS 系統,能夠經過 option + command + P 在Finder底部顯示完整的當前路徑和跳轉。其它,還有一個騷操做,就是顯示在標題欄:

在 Finder 標題欄顯示完整路徑
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES;killall Finder

還原
defaults delete com.apple.finder _FXShowPosixPathInTitle;killall Finder

精選Mac App

Xcode
Xcode是Mac,iPhone,iPad,Apple TV和Apple Watch等應用的開發集成工具。

Android Studio
Android Studio是一個爲Android平臺開發程序的集成開發環境。

PyCharm
PyCharm是一個用於計算機編程的集成開發環境,主要用於Python的語言開發,由捷克公司JetBrains公司開發,提供代碼分析,圖形化調試器,集成測試器,集成版本控制系統,並支持使用Django的進行網頁開發.CyCharm一個跨平臺開發環境,擁有Windows,macOS和Linux版本。

WebStorm
WebStorm是jetbrains公司旗下一款JavaScript開發工具。目前已經被廣大中國JS開發者譽爲「Web前端開發神器」,「最強大的HTML5編輯器」,「最智能的JavaScript IDE」等

AppCode
jetbrains公司旗下的 Objective-C/Swift 集成開發環境,用於幫助開發 Mac、iPhone 和 iPad 的應用程序。

IntelliJ IDEA
java編程語言開發的集成環境。IntelliJ在業界被公認爲最好的java開發工具之一,尤爲在智能代碼助手、代碼自動提示、重構、J2EE支持、各種版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能能夠說是超常的。

PhpStorm
PhpStorm 是 JetBrains 公司開發的一款商業的 PHP 集成開發工具,旨在提升用戶效率,可深入理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。

CLion
CLion是一款專爲開發C及C++所設計的跨平臺IDE。它是以IntelliJ爲基礎設計的,包含了許多智能功能來提升開發人員的生產力,提升開發人員的工做效率。

GoLand
GoLand是一款專爲開發Go語言所設計的跨平臺IDE。

CodeRunner
CodeRunner 是 Mac 上一款功能強大但使用簡單代碼工具,官方介紹支持幾乎全部語言(20種語言),同時支持語法高亮、代碼提示和多種界面主題,在學習新的語言或編寫簡單測試代碼時很是實用。

wechatwebdevtools
爲了幫助開發者簡單和高效地開發和調試微信小程序,微信在原有的公衆號網頁調試工具的基礎上,推出了全新的 微信開發者工具,集成了公衆號網頁調試和小程序調試兩種開發模式。

CocosCreator
Cocos Creator是之內容創做爲核心的遊戲開發工具,在Cocos2d-x基礎上實現了完全腳本化、組件化和數據驅動等特色。 Cocos Creator基於開源框架Cocos2d-x,實現了一體化、可擴展、可自定義工做流的編輯器,並在Cocos系列產品中第一次引入了組件化編程思想和數據驅動的架構設計,這極大地簡化了Cocos2d-x開發工做流中的場景編輯、UI設計、資源管理、遊戲調試和預覽、多平臺發佈等工做,是使用Cocos2d-x進行團隊協做開發的最佳選擇。

Unity
Unity 是一套跨平臺的遊戲引擎,可用於開發Windows、MacOS、Linux 平臺的單機遊戲,或是iOS、Android 移動設備的遊戲。Unity 也可開發支持WebGL 技術的網頁遊戲,或 PlayStation、XBox、Wii 主機上的遊戲。

Unreal Engine 4
虛幻引擎是一款由Epic Games開發的遊戲引擎,多用於開發第一人稱射擊遊戲。

Visual Studio Code
Visual Studio Code是一個由微軟開發的,同時支持Windows、Linux和macOS操做系統且開放源代碼的文本編輯器。它支持調試,並內置了Git 版本控制功能,同時也具備開發環境功能,例如代碼補全、代碼片斷、代碼重構等。

Atom
Atom是由GitHub開發的自由及開放源代碼的文字與代碼編輯器,支持macOS、Windows和Linux操做系統,支持Node.js所寫的插件,並內置由Github提供的Git版本控制系統。多數的延伸包皆爲開放源代碼受權,並由社區建置與維護。

Sublime Text
Sublime Text是一套跨平臺的文本編輯器,支持基於Python的插件。Sublime Text是專有軟件,可經過包擴展。大多數的包使用自由軟件受權發佈,並由社區建置維護。

iTerm
iTerm 是一款徹底免費的,專爲 masOS 用戶打造的命令行應用。有不少可以提高效率的實用功能,好比說窗口分割、熱鍵窗口、智能搜索、自動完成、快速複製等

Navicat Premium
Navicat Premium 是一套數據庫開發工具,讓你從單一應用程序中同時鏈接 MySQL、MariaDB、SQL Server、Oracle、PostgreSQL 和 SQLite 數據庫。它與 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、阿里雲和騰訊雲等雲數據庫兼容。你能夠快速輕鬆地建立、管理和維護數據庫。

SourceTree
SourceTree 是Windows 和Mac OS X 下免費的Git 和Hg 客戶端,擁有可視化界面,容易上手操做。

GitHub Desktop
程序員都知道的工具

Easy APNs Provider
一個推送服務提供商(Apns Provider)方能發送推送來測試iOS程序。

Parallels Desktop
Parallels Desktop是一款運行在Mac 電腦上的極爲優秀的虛擬機軟件。 用戶能夠在Mac OS X 下很是方便運行Windows、Linux 等操做系統及應用。 用戶沒必要繁瑣重複地重啓電腦便可在Win 與Mac 之間切換甚至同時使用它們。

Reveal
Reveal是iOS開發工具中的神器之一,它可以在應用程序運行過程當中調試應用程序界面。

Prepo
Prepo能夠幫助設計師快速生成各類尺寸的圖標,只需你將最大分辨率的圖標拖拽進來,其餘的尺寸交給Prepo作就行了。

PaintCode
爲所欲爲的將界面設計轉換成代碼。

QuartzCode
QuartzCode是一款專門用來創做iOS/macOS動畫的軟件,基本上把整個Core Animation框架的內容都搬到了軟件裏面,好比各類Layer、Mask、能夠用來動畫的屬性,基本上跟代碼是一致的,徹底能夠當成「可視化動畫編程」工具,並且製做之後能夠導出代碼+資源文件,直接就能夠在代碼裏面調用,方便自定義修改。

Core Animator
Core Animator 是一款動畫製做軟件,能夠自動生成 Objective-C 和 Swift 代碼,讓開發者快速在 App 中製做動畫效果甚至是遊戲。

Hopper Disassembler
Hopper Disassembler是一款是32位和64位的二進制反彙編器,反編譯和調試。你可使用此工具拆開你想要的任何二進制。

IDA Pro
IDA Pro,爲Interactive Disassembler公司的反組譯與除錯工具的產品。經常使用於逆向工程。

Moom
Moom 是一款專爲Mac準備的窗口管理工具,它可以讓您移動和縮放窗口。

The Unarchiver
The Unarchiver是一款免費實用的解壓縮應用程序,用戶可使用它解壓多達30種不一樣的壓縮格式文件。

Jietu截圖
截圖(Jietu)是一款免費應用,精美界面設計,操做簡單,功能強大。截圖功能包括區域截圖/窗口截圖/全屏截圖/倒計時截圖/錄製屏幕,保存可自定義選擇圖片和視頻質量。

iText
iText是一個OCR圖像轉成文字的工具,在macOS上很是方便和準確的識別。

TripMode
TripMode,每當你的筆記本接入手機熱點後,都會自動開啓流量管控狀態。

Mate Translate
很是棒的應用,翻譯很精確

CleanMyMac
若是電腦空間小,清空電腦還有頗有做用。比對蘋果x刪除,用CleanMyMac卸載更乾淨。

iSmartPhoto
iSmartPhoto是一個快速的圖像瀏覽器和強大的圖像管理器。不像 iPhoto,iSmartPhoto for mac不須要你手動導入照片–它自動拉取你的照片從任何文件夾或驅動器。經過只是雙單擊查找器的單個圖像或拖動文件夾,iSmartPhoto會自動顯示每一個圖像從所選的文件夾及其子文件夾。

Kantu
Kantu (看圖)是騰訊在 macOS 平臺出品的優質看圖工具,輕輕鬆鬆從萬張照片中找到你想要的。

GIF Brewery
GIF Brewery 製做GIF 動圖。

Downie
易用的在線視頻下載工具

Waltr 2
很是方便的同步iOS設備,拖拽就能夠輸送音樂、視頻、電子書。

iExplorer
iExplorer 是一個很是優秀的一個免 iTunes 同步文件的資源管理器。

iMazing
讓備受信賴的軟件爲您傳輸和保存音樂、消息、文件和數據。安全備份任何 iPhone、iPad 或 iPod touch。iMazing 功能強大、易於使用,稱得上是 Mac 和 PC 上最好的 iOS 設備管理器。

HandShaker
HandShaker Mac 版(原名 SmartFinder),使你在 Mac 電腦上也能夠方便自如地管理你在 Android 手機中的內容。

QuickTime Player
QuickTime Player做爲macOS默認的播放器,完美的iOS屏幕投影,完美的屏幕錄像。

MindNode 6
很漂亮和簡潔的思惟導圖製做軟件。

StarUML
StarUML是一種生成類圖和其餘類型的統一建模語言(UML)圖表的工具。

Sketch
Sketch 是一款矢量繪圖工具,設計神器

ColorSnapper2
這個取色軟件很棒,取色能轉成代碼最突出,CSS/Swift/OC/Java/Android/.Net/OpenG/…等代碼。

xScope 4
xScope 是一款Mac上的設計開發輔助工具,尤爲是移動應用的設計,幫助每一個設計者快速,精確的完成工做,度量距離,角度的標尺,放大鏡,精確垂直,水平標記輔助線,精確闊度,找畫面上符合位置測交叉點。

Pixelmator
Mac OS X 專有的圖像處理軟件。Pixelmator 界面清爽,佈局靈活,熟悉 Photoshop 的人可迅速上手。軟件創建在一些開源和 Mac OS X 圖形技術之上,可調用 Mac 圖形加速。使用起來在界面交互和流暢感上均優於 Photoshop,且與 Mac 自帶程序整合不錯。

Final Cut Pro
後期製做,前景更廣闊

Compressor
強大的編碼,傳輸,完成。Compressor 與 Final Cut Pro 緊密整合,帶來了自定義輸出設置、分佈式編碼和豐富的傳輸功能。它支持 360° 全景視頻、HDR、HEVC 和 MXF 輸出,讓你能以強大、靈活的方式導出 Final Cut Pro 項目。

MainStage
MainStage 3 舞臺音效,媲美錄音室效果。如今,將你的 Mac 變身現場演出裝備。憑藉不可勝數的各類插件和音效選擇,你可讓鍵盤、吉他或演唱表現令觀衆耳目一新,難以忘懷。

Telegram
Telegram是一個跨平臺的即時通訊軟件,它的客戶端是自由及開放源代碼軟件,可是它的服務器是專有軟件。用戶能夠相互交換加密與自析構的消息,以及照片、視頻、文件,支持全部的文件類型。

TeamViewer
TeamViewer 基於最普遍的平臺和技術,鏈接全世界的人、地區和事物。

Apple Remote Desktop
Apple Remote Desktop 是管理你網絡上的 Mac 電腦的最佳方式。分發軟件,爲終端用戶提供實時在線幫助,建立詳細的軟硬件報告,自動執行常規的管理任務。

Things3
一款優秀的GTD任務管理工具。

WWDC
開源免費的看WWDC視頻的應用!

Reeder 4
一款很好的RSS訂閱應用

IINA
macOS 上好的現代視頻播放器。免費開源!

程序員選購Mac電腦,戳這裏