質問: Wordpressのテーマ開発環境は、VCCWとDockerのどちらがオススメでしょうか? それぞれの利点・欠点、用途による使い分けなど、お聞かせ頂ければ幸いです。
回答: Docker ベースの WordPress 開発環境 Wocker の作者です。そして VCCW のコントリビューターの一人でもあります。 まず、VCCW について。 VCCW の利点 ======== * **豊富な初期設定オプション** WordPress のバージョン、言語、プラグイン、テーマ、サブディレクトリへのインストールなどを予め指定した状態で環境を構築することができます。 * **テストツール** PHPUnit というテストツールを利用することができます。 また、テーマテスト、プラグインテストも、初期設定のオプションが用意されていたり、テスト用のプラグインを予めインストールするよう設定することができます。 * WordMove 本番を開発環境に同期させることができるデプロイツール WordMove を利用できます。 VCCW の欠点 ======== * **プロビジョニング** これはどうしようもないことではありますが、やはりプロビジョニングに多少は時間がかかります。マシンスペックにもよりますが、おそらく5分ほどはかかるでしょう。 * **複数バーチャルマシン** VCCW で複数サイトを管理しようとすると、おそらく複数のバーチャルマシンを作ることになります。これはそこまで欠点というほどではありませんが、バーチャルマシンを抱えすぎるのはあまり理想的ではないように思います。 次に、Wocker について。 Wocker の利点 ========== * **速さ** やはりなんといっても新しい環境の立ち上げの速さです。バーチャルマシンを起動した状態であればほぼ3秒で新しい環境が立ち上がります。 * **複数サイトも軽量** Wocker で複数サイトを管理する場合は、一つのバーチャルマシン上に複数の Docker コンテナを作ることなります。都度 Github から Clone したり、ファイルをコピーしたりする必要もまったくありません。 Wocker の欠点 ========== * **オプションがほとんどない** オプションを用意できないわけではありませんが、しかし、やはりその分プロビジョニングに時間がかかってしまいます。ただ、もし Docker に慣れていれば、Wocker のデフォルトイメージや Dockerfile をカスタマイズして、自分のよく使う環境をイメージとして保存して、Wocker から利用することができます。 * **複数サイトを同時に立ちあげられない** 現時点で、Wocker で複数サイトを同時に立ちあげることができません。複数サイトを管理している場合、それぞれのコンテナ間をスイッチする必要がありますが、ただ、コンテナの停止/再起動はすべて一瞬で終わります。これについては今後のバージョンで対応するかもしれません。 用途 == 今のところ、Wocker に PHPUnit や WordMove が入っていないので、それらのツールを利用した本格的な開発環境が必要な場合は VCCW の方がよいかもしれません。一方、それらが特に必要ない、もしくはとりあえず WordPress で何か試したいなどで、WordPress 環境を頻繁に作ったり捨てたりする場合、Wocker はおすすめのツールです。MAMP や XAMPP の代替になる可能性は十分にあると思いますので、インストールしておいて損はないと思います。 他にも細かいところでいろいろあると思いますが、大まかに言うと大体こんな感じでしょうか。