2016/01/11

[勉]Maven, Gradle

知らん言葉を調べるシリーズ。
シリーズと言いつつ、ほとんどやってないが。。。

今回は、MavenとかGradleとか。
AndroidとかJavaとかのプロジェクトをビルドしようとすると、だいたいどっちかが出てくるのだが、よくわかってない。
「makeみたいなもんだろう」くらいな認識だから、もうちょっとだけ調べておきたい。


Maven

Apache Mavenが本家(分家があるかどうかは知らん)。
ソフトウェアプロジェクトの管理(management)や包括(comprehension)を行うツールらしい。
managementはまあわかる気がするが、comprehensionってのは初めて聞いた単語だ。

【comprehension】
包含、理解、了解、理解力、読解力、包括

よくわからんが「わかってあげる」みたいな感じか?

 

1. Maven とは | TECHSCORE(テックスコア)
- 第1回 Mavenって何?

makeがビルドするツールなら、mavenはプロジェクト管理ということで、置き換えになるんじゃなくて立ち位置が少し違うようだ。
プロジェクトを、POM(Project Object Model)というモデルで表現する、というのが大きな考え方か。

以前購入した『Javaエンジニア養成読本』にも章があって、Javaではよく使われるらしい。
デフォルトのプロジェクト構造というものがあり、そこに当てはめていくと使いよいようだ。
ソースフォルダは「src/main/javaに置く」と書いてあり、そういえば最近のAndroidアプリもEclipseで作っていたときとフォルダ構成が変わっていたな、と気付く。

組込みだと、あまり「一般的な」がないので、こういうツールは流行りにくそうだ。
動かす対象が1つ1つ違うし、コンパイルするツールがメーカ提供であることが多いので、だいたいその対象向けのビルド環境をそれぞれ用意することになっていたからだ。
しかし、統一されたツールなどがないと開発がすごく面倒になるのはわかってるし、組込み開発者が開発環境の構築やプロジェクト管理までやってしまいがちなことを考えると、先にツールありきの方がいいのかもしれん。

 

一番衝撃だったのは、心の中で「めーべん」と呼んでいたけれども、英単語に”maven”があり、その日本語発音は「めいばん」ということを知ったときだった!
「めーべん」か「まーべん」かだろうと思っていたのだが・・・。


Gradle

Gradleはゾウのアイコンみたいだ。
念のため英和辞書を引いてみたが、”gradle”という単語はなかった。
たぶん発音は「ぐれーどる」だろう。

Gradle入門 – Qiita
ビルドツールGradleスタートアップガイドの紹介「Grails/Groovy工房 vol.2」[前編] | コラム | コラム・ブログ | NTTソフトウェア株式会社
第1回 Gradle入門 | Developers.IO

Gradleはビルドシステムらしい。
これも、Mavenと同じ立ち位置のようだ。
「MavenはXML書くのが大変なのでGradleに乗り換えた」みたいなのがちらほら見られる。
MavenはPOMをXMLで記述するようだが、GradleはGroovyというスクリプト?文法?で書くらしい。

そういえば、さっき「ソースがsrc/main/javaになってた」と書いたけど、AndroidStudioはGradleだよな。
そこは最近のJavaの構成がそうなっているのかな?
Gradleの特徴に「Mavenのリポジトリを利用できる」というのがあったから、踏襲しているのだろう。


Mavenの検索後にGradleの検索をしたのだが、上位に引っかかるものが多少違った。
Mavenは「Mavenとは」が上に来ていたのだが、Gradleは軽く紹介した後でインストールとか設定とかの説明が多かった。
なんとなく、「Mavenを使ってたけどGradleっていいよね」という人が多くてこうなったのだろうか?

私にとっては、今のところGradle=AndroidStudioで、AndroidStudioがバージョンアップごとにビルドできなくなったり、ダウンロードしたサンプルがビルドできなかったりするので、あまりよい印象がない。
これはGradleのせいじゃなくて、AndroidStudioのせいなんだろう。

2 件のコメント:

  1. ぼくは めいべん って呼んでます!

    androidstudioがサポートするgradleのバージョンがガンガン上がってるので、ビルドできなくなったりとかあるかも・・・

    返信削除
    返信
    1. めいべん(あいさつ)!
      心の中ではいまでも「めーべん」って読んでます。

      gradleのバージョンですか。
      てっきり、環境の作り方の方かと思ってました。
      あまり上位互換がないんですかね。

      削除

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。