Web開発は日々進化しています。最近は特に様々な外部ライブラリを管理するツールが充実してきています。現在僕が使っているものを一覧にしてみました。
基本的に「ゆるい結合」を目指しています。
- メインコードにハードに組み込むのではなく、必要時にライブラリをインストールし、必要なければすぐに切り離せる状態にしライブラリとメインコード互いの進化を止めないようにしたい。
- 管理やバージョンアップを徹底して簡単にしたい。(できればコマンド一発にしたい)
- デプロイも簡単にしていきたい。(何も知らない他人でも同じ条件でデプロイできるように)
PHP関連
PHPに関してはPearやPeclなどもありましたが、Pear自体のインストールなどが非常にめんどうで、しかも組み込みに気を遣います。Composerはnpmのようにcomposer.jsonに必要ライブラリを書いておけばコマンドだけでインストール、削除が可能です。
インストール後は自動生成される autoload.php を includeしておけば、ライブラリ内のクラスを自由に呼び出せます。
JavaScript関連
この後のBower、Gruntを使用するベースとなるNode.jsライブラリ。Node.jsをインストールすれば使えるようになります。
ComposerのJS版。(という言い方はちょっといけませんね。ComposerもBowerもnpmに影響を受けています。)
bower.json に必要ライブラリを書いておけば、コマンドだけでJSライブラリを出し入れできます。
仕上げ、デプロイ
JSやPHPの結合・minify、ファイルの整頓、ftp転送などなど。さまざまな処理を自動化してくれます。
ビジュアルに細かく管理したいならJenkinsもありますが、小規模な自動化ならGruntが今のところベスト。もちろん大規模でも可能。
WTS的まとめ
たった4つの紹介ですが、これらでPHPライブラリの構築管理、JSの管理などがほぼすべてできます。
さらにインストールやデプロイ、バージョンアップをGruntにまとめてしまえば「grunt [オプション] 」コマンド一発でゼロ状態からデプロイまでできてしまうようになります。
自分の作業効率アップはもちろんですが、管理と作業の属人化を防ぐという点でも非常に有効です。
しかし全体的にJS支配がすごいですね。
万能言語と化している・・・
参考になれば幸いです。