はじめに
開発環境を構築するためのチュートリアルやツールのまとめ記事はよくありますが、「なぜ」という視点からまとまっている資料がなかったので、作成してみます。
具体的な作業内容やツールの使い方は記載していません。
随時更新予定です。
そもそもローカルとは
ローカルとは、インターネットなどのネットワーク越しに存在する環境ではないという意味です。
ざっくり言ってしまえば、個人のPC内部は基本的にローカルな環境です。
あなたが自分のPC内にあるエクセルやパワーポイントなどのファイルを操作するときは、ローカルで作業しているわけです。
インターネット上にサービスを公開するために
この記事を読んでいる方は、WebサイトやSNSなどのアプリケーション開発に興味があるのだと思います。
インターネット上にそれらのサービスを公開し、ブラウザ経由で誰もがアクセスできるようにするためには、インターネットに接続されたコンピュータ、つまりサーバーが必要です。
サーバーはレンタルサーバーやVPS, クラウドなどいくつかの種類がありますが、多くの場合はLinuxというOSにより動作しています。
しかし、私を含め多くの方はWindowsかMacいずれかのPCを使用しています。
これらはそれぞれWindows, OSXといったOSを搭載しています。
もちろんそういった環境で開発をすることはできますが、結局サービスを公開するにはLinuxで動作するサーバーに、プログラムが記述されたファイル群をアップロードしなければなりません。
そして、WindowsやOSX上で正しく動作したからといって、Linux上でも正しく動作するとは限りません。
そのため、開発する環境(自分のPC)と、公開する環境(サーバー)のOSを揃える必要があります。
仮想化ソフトウェア
ここで登場するのが、VirtualBox をはじめとする仮想化ソフトウェアです。
これを使用することで、自分のPC内に、コンピュータ(仮想マシン)を作成することができます。
つまり、WindowsやMacを使用している人でも、同一PC内にLinuxで動作するコンピュータを持つことができるのです。
このLinux上で開発をすることで、先ほどの"OSが異なる問題"が解決します。
ターミナル
仮想化ソフトウェアで作成した仮想マシンに接続し、作業を行うために使用するのがターミナルです。
ターミナルとは、通信回線などを通じて他のコンピュータなどに接続し、もっぱら情報の入力や表示などを行なうソフトウェアの総称です。
具体的なソフトウェアとしてはインターネット上で配布されている TeraTerm や、Macに標準でインストールされている Terminal などがあります。
ターミナルを使用して仮想マシンにアクセスし、ファイルを作成し、プログラムを記述していくのです。
Vagrant
仮想化ソフトウェアとターミナルがあれば、仮想マシン上での開発をすることができますが、それを手助けしてくれるのが Vagrant というソフトウェアです。
Vagrant をインストールすると、仮想化ソフトウェアでの仮想マシン作成や起動、アクセスといった作業を、非常に簡単なコマンド入力で実現することができます。
Vagrantでは仮想マシンに関する情報を Vagrantfile と呼ばれる設定ファイルに記述しており、これを参照して仮想マシンの構築を行います。
すなわち、Vagrantfile を共有することで、複数人で全く同じ環境の仮想マシンを構築することができ、チームでの開発にも役立ちます。
環境構築の際によく目にするツールをざっくりと
名称 | 概要 | 備考 |
---|---|---|
Terminal | コンピュータをコマンドで操作するためのツール | Macにはデフォルトでインストールされている |
TeraTerm | 同上 | WindowsユーザーがTerminalの代わりに使用するケースが多い |
VirtualBox | 仮想マシンの作成や管理を行う | |
Vagrant | VirtualBoxを通じた仮想マシンの構築を便利にする | |
Cyberduck | 仮想マシン上のファイルへのアクセスを容易にする | |
Transmit4 | 同上 | 有料 |
※初心者にとって情報過多にならないよう説明を絞っています |
参考情報
ドットインストール/ローカル開発環境の構築 [Windows編]
ドットインストール/ローカル開発環境の構築 [MacOS X編]