TechFeed Conference 2022 Pick up

Androidのアプリ開発の移り変わりについて行く方法 ~TechFeed Conference 2022講演より

本記事は、2022年5月に開催されたTechFeed Conference 2022のセッション書き起こし記事「Androidのアプリ開発の移り変わりについて行く方法(ARIYAMA Keiji⁠⁠ — TechFeed Conference 2022講演より」を転載したものです。オリジナルはTechFeedをご覧ください。

有山圭二です。TechFeedではAndroidのエキスパートを担当しています。TechFeedとGithubのIDはどちらも@keijiです。よろしければフォローしてみてください。Twitterはやっていないのでよろしくお願いします。

セッションのコンセプトはAndroidの上級テクニックですが、Androidで上級テクニックというと非常に細分化されたものになります。今回はもう少しプリミティブな話題として、⁠Androidアプリ開発の移り変わりについて行く方法」と題してお話をします。

Androidの変遷 ―どうしてこんなに早いのか

僕は2007年の11月からAndroidアプリ開発を始めました。そのころの環境はご覧のとおりです。基本的にAndroidがアップデートするタイミングでAPIが変わる、APIレベルと連動したのどかな状況でした。

2007年11月ごろの開発環境

それが、今ではこうです。IDEもプログラミング言語も変わりました。さらに、Android Jetpackと呼ばれるライブラリ群が登場しています。

今の開発環境

Androidアプリ開発のパラダイムシフトとして、Android Studioの標準ビルドシステムにGradleが採用されました。これによって、外部ライブラリの利用が非常に簡単になりました。

Androidアプリ開発のパラダイムシフト

OkHttpを使う場合を考えてみましょう。Gradleの機能を使用しない場合、OkHttpの .jarファイルを手に入れて、libsディレクトリにコピーする必要があります。しかし、OkHttpはokioというライブラリに依存しています。OkHttpを使うには、okioの.jarファイルも取ってきて、libsディレクトリに入れる必要があります。これはまだ良いほうで、ライブラリによっては複数の別のライブラリに依存している、また、依存しているライブラリがまた別のライブラリに依存していることもあります。

OkHttpを使う場合:ライブラリへの依存

この手順は、Gradleの機能を使うとこのように書けます。使いたいライブラリとバージョンを指定すれば、あとはGradleが必要な.jarファイルをダウンロードします。依存するライブラリを指定する必要はありません。ビルドシステムの標準化により、Androidはプラットフォームがバージョンアップしなくても、外部ライブラリで開発効率を高めたり、バージョン間の違いを埋めたりできるようになりました。また、外部ライブラリがあれば、不具合があってもプラットフォームの不具合と比べれば修正は比較的簡単です。

OkHttpを使う場合:Gradleの機能を使う

Android Jetpack ―公式ライブラリというには○○すぎる

Android Jetpackは公式の外部ライブラリ集です。もともとは、Androidのバージョン間の差分を埋めるためのものでしたが、今ではさまざまな役割に細分化されています。

Android Jetpack

さらに、細分化されたそれぞれのライブラリが個々にバージョンアップを続けています。このAndroid Jetpackが今ではAndroidアプリ開発の移り変わりを早める要因となっています。

それぞれのライブラリが個々にバージョンアップ

Androidアプリ開発の移り変わりについていく方法 − 面でとらえて取捨選択を

それではいよいよ、Androidアプリ開発の移り変わりについて行くためのおすすめの方法です。

まずはじめに、すべてのライブラリの最新バージョンを追うことはあきらめてください。重要なのは、各ライブラリの領域を「面」としてとらえることです。各ライブラリの一部または全部の機能それぞれを、自分なりに分類してみましょう。この分類は、誰が見ても正しいというものである必要はありません。

各ライブラリの領域を「面」としてとらえる

自分が見て「筋が通っているな」と思えればよくて、さらに言えば、時間が経つにつれ、分類を変えることもあり得ます。

分類した後は、定期的にキャッチアップの時間を作ります。キャッチアップまでの期間は人によってさまざまです。2週間ごとであったり、1ヵ月ごとであったり、自分のペースに合った期間を探しましょう。普段のニュースでアップデートや新機能の情報を得ても、すぐに調べる必要はありません。Androidアプリ開発の移り変わりは早く、変化に即応しようとすると気力/体力がもちません。キャッチアップの間隔を定めることで、落ち着いて長くAndroidアプリ開発に取り組めるようになります。

定期的にキャッチアップの時間を作る

キャッチアップのタイミングが来たら、キャッチアップしたい技術を選びます。選ぶのは1つか2つ。個人的には3つは多いと感じます。

キャッチアップしたい技術を選ぶ

次に、選んだ技術を使って既存のアプリを改修します。まったく新しいアプリを作ってもよいのですが、そのときはなるべく開発負荷の低いアプリを作るようにしてください。また、改修した既存のアプリをリリースすることは目標ではありません。選択した技術やライブラリが既存のアプリにフィットするか、フィットしないとしたらどのようにすればよいか、試行錯誤するのが目的です。

選んだ技術を使って既存のアプリを改修

また、技術やライブラリを使った枝葉の部分に時間をとられないように意識するのも重要です。

いろいろなことをしない

さらに、ある程度試してみてうまくいかないようであれば、あきらめるということも選択肢に含めてください。

うまくいかなければあきらめる

ご清聴ありがとうございました。

おすすめ記事

記事・ニュース一覧