アプリ開発の中で作成したクラスや関数などを資産としてライブラリ化し、次のアプリ開発で再利用するといったスタイルは、開発効率を上げる常套手段です。
私のように個人でアプリを開発している場合、この恩恵は薄いのですが、ソフトハウス(死語?)で年間に多くのアプリを開発している現場では濃いと思います。
「誰かが欲しいと思う機能」は「誰もが欲しいと思う機能」です。同じような仕様のアプリ開発を受注することはありませんか?機能の骨幹はライブラリからの流用に任せて、外観は顧客の要望に合わせるだけで済んだら、楽です。
今回は、Android Studio(アプリ開発)で参照するライブラリの種類について、まとめます。
Mavenリポジトリ形式とは
Javaで一番初めに普及したビルドツールはApatche Antでした。
十数年前にリリースされた初版のAndroidアプリ開発環境は、このAntとEclipse(IDE:統合開発環境)の組み合わせを採用しています。
その後、Antの後継として登場したのがApatche Mavenです。
Mavenの大きな功績はMaven central repositoryを登場させたことです。Maven central repositoryとは、それまで多くのサイトに分散して公開されたいたJavaライブラリを一か所に集約管理したものです。
Javaアプリ開発者に次の恩恵をもたらしました。
・欲しいライブラリがリポジトリを探せば得られる
・最新版(および、旧版)のライブラリが常に得られる
※検索サイト:MVN REPOSITORY
Maven central repositoryの利用は一気に普及します。
そして、このリポジトリで管理されるライブラリが「Mavenリポジトリ形式」であることから、この形式がJavaアプリ開発環境のデファクトスタンダードになっています。
※正確には「Maven2リポジトリ形式」。Maven Ver2で定義された。
2010年代にリリースされたAndroid StudioはビルドツールにGradleを採用しています。
GradleはJavaビルドツールの1つです。
他のJavaビルドツールと同様に、Mavenリポジトリ形式のライブラリを扱います。
Android Studioが参照するライブラリ
Android Studioが参照するライブラリは図のような種類に分類できます。
ライブラリの種類 | 提供範囲 | 形式 | ||
---|---|---|---|---|
(1) | Module Library | プロジェクト | Android StudioのModule (GradleのSub Project) |
|
(2) | Local Repository | ユーザ | Mavenリポジトリ形式 | |
(3) | Remote Reposotory | Private Repository | 内部ネットワーク | |
(4) | Public Repository | 外部ネットワーク | ||
(5) | Central Repository | |||
※内部ネットワーク:ドメイン内などの外部と隔離された範囲 ※外部ネットワーク:誰もが参照可能な外部へ公開された範囲 |
関連記事: