Developer界隈で最近流行ってそうなもの-ビルド・バージョン管理編-

ビルドツール

・Gradle

Groovyで書かれたビルドツールとのこと・・・

そもそもGroovyってなんだ?

GroovyはJavaをもっとすごくしたようなものです。 Javaエンタープライズ機能を活用できるだけではなく、クロージャ、ビルダー、そして動的型付けのような生産的で洗練された機能も持ち合わせています。 もしあなたが開発者やテスター、スクリプトの達人とかなら、Groovyは愛して止まない存在になることでしょう。

だとさ。。
要はJavaのようなもので、Javaよりもすごいやつって・・・ザックリすぎ?
背景としてはRuby on Railsが流行って取り残されたJavaが頑張って近づこうとした結果Groovyが生まれたって感じなのかな。

Gradleの話に戻りましょか。

Javaのビルドでよく使われるのはAnt、Make、Mavenですね。

これらはXMLで書かれて可読性が低いうえ、依存関係の管理など理解しなくてはならないことが多いそうです。

なのでAnt、Make、Mavenの環境を用意できる人をビルド職人というそうな。

それらのハードルを取っ払って、手っ取り早く誰でもどこでもビルドできるようにしたのがGradleらしい。

実際にちょこっと使ってみると、WindowsMacLinuxで同じ結果を作り出すことができるビルドファイルが生成されたんで便利だなーって印象は少し持った。

バージョン管理システム

・Git

バージョン管理システムといえばCVSSubversionですね。

GitはGithubの流行などから最近注目されているバージョン管理システムです。

Git の産みの親は Linuxカーネル の産みの親でもある Linus Torvalds 氏。

Linuxカーネルの開発にも使われているらしい。(というかLinuxカーネル開発時の管理のために作られたらしい)

Gitはリポジトリが1箇所に集中しない分散型バージョン管理システム

Subversionは1箇所のリポジトリに対しチームの開発者全員が変更を加えていきます。

Gitはそれぞれのローカル環境にリポジトリを持ち、そこに対しコミットします。(もちろんブランチ切ったりなどの操作も可能です)
そしてコミットした内容をpush/pullという仕組みを使って共有します(というかサーバのリポジトリに上げる)。

開発者それぞれがローカルにリポジトリを複製して自由にブランチ切ったり変更を加えたりすることができるので、ちょっと試したいというときにも大変便利です。

また、Subversionと違って良いな!って思ったのは分散型なのでサーバが壊れても、それぞれがリポジトリを持ってるから、そのまま作業は進めることができますしサーバの復旧も簡単ですね。 あとは、社内開発ではあまり関係ないかもですが、ローカルにリポジトリがあるんでネット環境が無くてもバージョン管理しながらの開発ができる点ではないでしょうか。

Git操作用のアプリもありますが、コマンド数行ですぐローカルにリポジトリを用意することができますし何かと便利です。


最近はGitの虜です。(ホントに。)

前まで好きでもないSubversionで管理するのを強いられていて、ソース管理なんて面倒だ!って思ってました。

けどGitに出会って一変ですよ。

Bitbucketは無料でプライベートリポジトリが手に入るし、そこでちょこっと自分用に作ったものを管理できるし。

前にちょこっと作ったものをPullしてきて、ローカルでブランチ切って、またちょこっと手を加えて・・・

自分の武器となるカードを増やすという意味でもかなり重宝してます。