【Mac, 開発環境】Macで開発するためにインストールしておきたいアプリケーション


## 参考
【Mac, 開発環境】Macでの作業を効率化するためにやっておきたい設定
http://nexseed.net/tech-blog/mac-basicsettings-for-workefficiency/


## 作業効率化アプリケーション
### Alfred
ランチャーアプリの一種。
作業中に様々なアプリを起動して作業しますが、そのようなアプリケーションの起動や切り替えを高速に行うために役立ちます。
(https://itunes.apple.com/jp/app/alfred/id405843582)

![Alfred.png](https://qiita-image-store.s3.amazonaws.com/0/18615/ee4a0781-db10-a481-fa20-0415b4e162ff.png "Alfred.png")



### Better touch tools
TrackPadの機能を拡張することができるアプリケーション。
上級者はTrackPadの拡張以外の設定により、より作業効率化のできる設定を行ったりしています。
(http://www.boastr.de/ よりダウンロード)

![BetterTouchTool.png](https://qiita-image-store.s3.amazonaws.com/0/18615/2f1b5742-fb4a-1ee9-5fb5-1d138c67e5d9.png "BetterTouchTool.png")


### Karabiner（元 KeyRemap4MacBook）
KarabinerはMacでのキーボード操作の操作スピードをより細かく設定を変更できるアプリケーションです。
これを利用して設定を変更することによって、よりMacでの開発効率を高めることができるようになるため、インストールしておくことを推奨します。
(https://pqrs.org/osx/karabiner/index.html.ja よりダウンロード)
![Karabiner.png](https://qiita-image-store.s3.amazonaws.com/0/18615/b84e1dab-072e-60cc-d235-1af2c568ee90.png "Karabiner.png")



## 開発ツール
### Xcode
iOSの開発のための開発ツールであると同時に、Macで開発を行うために必要なツールセットもビルトインされています。
XCodeをインストールすることで、Macで開発を行うために必要な様々なものをインストールすることができます。
(https://itunes.apple.com/jp/app/xcode/id497799835)
![XCode.png](https://qiita-image-store.s3.amazonaws.com/0/18615/7f96cfa6-dc0a-7cc1-d405-f4e493ecebfa.png "XCode.png")


### iTerm2
エンジニアはマウスや見た目にわかりやすい画面での作業のみならず、ただ文字だけが並んでいる画面でコマンドと呼ばれる命令をマシンに与えることで作業を行うことがよくあります。
その際、こちらのiTerm2を利用すると、より便利にコマンドでの操作がやりやすくなります。
(http://iterm2.com/ よりダウンロード)

![iTerm2.png](https://qiita-image-store.s3.amazonaws.com/0/18615/a1b0a46b-7efd-412d-52a1-c3d2ade1afe8.png "iTerm2.png")


### VirtualBox

Mac上に仮想マシンを構築するために必要になる仮想化ツール。
VirtualBoxをインストールすることで、あなたのMacの上に仮想的にサーバを構築することができ、無料でサーバ開発環境を得ることができます。
(https://www.virtualbox.org/ よりダウンロード)

![VirtualBox.png](https://qiita-image-store.s3.amazonaws.com/0/18615/6d277f62-baba-6106-ec4c-f7f218b4fa82.png "VirtualBox.png")

### Vagrant
VirtualBoxの上に仮想マシンを立ち上げるのを自動化してくれるツールです。
VirtualBoxと合わせて利用することで、あなたのMacに仮想サーバを構築することを容易に行うことができます。
(https://www.vagrantup.com/ よりダウンロード)
![Vagrant.png](https://qiita-image-store.s3.amazonaws.com/0/18615/62365e66-20a5-011d-5c1b-8f2566266e2d.png "Vagrant.png")

#### Vagrant Boxファイル
Vagrantで仮想マシンの構築を自動化・簡易にするのですが、その際に立ち上げる仮想マシンのOSの元ファイルとしてBoxファイルというものが必要になります。
ここでは多くの企業でサーバ用OSとして利用されている、CentOSのBoxファイルのダウンロードを推奨します。
(http://nrel.github.io/vagrant-boxes/ より、最上部latestの中からx86_64という文字列が名前に入っているものをダウンロード)

### SourceTree
プログラミングを行っていると、ある一定程度開発した段階でそのソースコードを一時的に保存したいということがよくあります。
そのような際にはGitというツールを使ってそのような一時保存などを行います。
そのGitでの操作をわかりやすくしてくれるツールがこのSourceTreeです。
(https://www.atlassian.com/ja/software/sourcetree/overview よりダウンロード)
![08_App_SourceTree.png](https://qiita-image-store.s3.amazonaws.com/0/18615/fc41410d-aa71-031f-d4ea-422279fe1b4b.png "08_App_SourceTree.png")



## データベース管理ツール

### MySQLWorkBench
無料で使えるデータベースとしてMySQLは最も有名なデータベースです。
MySQLの開発や保守は現在Oracleが行っておりますが、MySQLを扱うためにオフィシャルツールとして公開されているのが下記MySQL Workbenchです。
データベースを使って開発を行う際にお世話になるので、インストールしておきましょう！
(http://www-jp.mysql.com/products/workbench/ よりダウンロード)

![MySQLWorkbench.png](https://qiita-image-store.s3.amazonaws.com/0/18615/447699e8-1b0d-f7dc-519b-eb1f5e82dda3.png "MySQLWorkbench.png")


## コミュニケーションツール
エンジニアは仕事の現場では、多くの場合チャットでコミュニケーションを行っています。
理由としては、チャットでのコミュニケーションはリプライの強制力などが少ないため、集中している際に作業の邪魔にならないなどのメリットがあるからです。
また、コミュニケーションのログを残しておくという意味でも、チャットなどでテキストベースでやりとりをすることが重要になります。
現在そのようなチャットツールとして世界的に二強といえるのが下記２つのツールになります。
どちらも使ってみる価値があるツールですので、インストールしておきましょう！

### Slack
https://slack.com/ よりダウンロード
![Slack.png](https://qiita-image-store.s3.amazonaws.com/0/18615/93f83c29-6089-0469-0dd8-49a38ac5d07c.png "Slack.png")


### HipChat
https://www.atlassian.com/ja/software/hipchat よりダウンロード
![HipChat.png](https://qiita-image-store.s3.amazonaws.com/0/18615/987e1ace-b224-92f1-cd3d-d9f11d028ab2.png "HipChat.png")


## その他

### Dash
ソースコードのドキュメントをいつでも参照できるようにしてくれるアプリケーションです。
Dashがあることにより、プログラミング言語が持っている機能などをより便利に・高速に検索して確認することができます。
(https://itunes.apple.com/jp/app/dash-docs-snippets/id458034879)
![Dash.png](https://qiita-image-store.s3.amazonaws.com/0/18615/7d26983e-a5c8-c59b-7def-fe303814178f.png "Dash.png")


## まとめ
以上、最低限Macで開発を行うのに便利なツール一覧を紹介いたしました。
また、マストだと思うツールやアプリケーションがあれば、追記していきたいと思います！