教えて! 最新技術―テックコミュニティの現場から

第4回 Androidのこれまでとこれから

この記事を読むのに必要な時間:およそ 4 分

テックコミュニティの運営側で,その技術分野を常に追いかけているエンジニアの方々にお話をうかがうインタビュー企画。ホストは関満徳が務めます。新型コロナ禍のさなか対面での取材を避け,リモートで行います。第4回目のゲストとしてお迎えしたのは,ソフトウェアエンジニアとして活躍する日高正博氏です。

日高氏は,現職のソフトウェアエンジニアとして従事するかたわら,DroidKaigi代表理事,技術書典 主宰者,PEAKS出版などの活動を精力的にされています。

画像

日高 正博(HIDAKA Masahiro)さん

Androidの開発者カンファレンスDroidKaigiや技術書イベントの技術書典を主宰。技術の共有やコミュニケーションに興味があり,ブログや書籍を通じてAndroid開発情報を発信している。

GitHub:mhidaka
Twitter:@mhidaka
URL:https://techbooster.booth.pm/

関:Androidと出会ったのはいつぐらいなのでしょうか?

日高:2008年末から2009年にかけてです。当時はまだスマートフォンのスの字も出ていないタイミングで,バージョン1.xと早く,実機もなかった時期にエミュレータやSDKに出会いました。

関:なぜiOSではなくAndroidを選んだのでしょうか?

日高:Androidは当初からオープンソースで,ソースコードを読むことができ,開発が自由で,開かれたマーケットとして訴求していました。それがiOSではなくAndroidを選んだ理由です。

関:仕事でAndroidを使うようになったのはいつごろからなのでしょうか。

日高:Androidと出会った当時から仕事でも使っていましたね。かなり手広く触っていました。当時はAndroidのアプリケーション開発の知見がたまっておらず,ライフサイクルを意識しないあまりアプリが強制終了されるなど未成熟な時代でした。今でこそセキュリティが強化され,権限など制限がたくさん付くようになりましたが,当時は信じられないぐらい自由でしたね。

関:ガラケーとの違いはどう感じていましたか?

日高:ガラケーと比べて,Androidは新しい世界に見えていました。ガラケーで動くアプリはすでに完成された領域で,キャリアが審査・提供していることもあってアプリは強制終了されたりしませんし(笑⁠⁠。

Androidは,アプリケーション開発を取り巻く環境も,標準的なデザインも良いとは言えない状況でした。実機が登場したてのころのAndroid端末は挑戦が多く,物理キーもたくさんある機種もあり,新しいからこその楽しさがありました。振り返ればアプリの審査がなかったのも斬新でしたね。審査はなく野放し状態で,何か問題が発生したら都度対応という牧歌的な時代です。今は,機械的な審査に加えて公開のためのポリシーがあります。

Androidを取り巻くエコシステムの成長

関:Android端末が出た当初は,アプリはよく落ちるし,いわゆる野良アプリも多かったですね。そういった状況を乗り越えるために,何が起きたのでしょうか?

日高:そうですね。近年はAndroid端末の中に平均100個以上のアプリが入ることが多く,それぞれのアプリがバックグラウンドで好きに通信をしてしまうとバッテリーがもちません。CPUの進化に比べてバッテリーの進化は早くないですから。そのため,アプリの推奨する動作をGoogle Playストアが規定・管理するようになり,バックグラウンド動作にも制限がかかるような変化が起きました。

これは,Androidが普及したからこそ発生する制限なので,おもしろさがスポイルされたわけではないです。また,変なアプリが完全になくなったわけではありません。セキュリティホールを突こうとしているアプリはまだありますし,品質が低いアプリも残っています。

Androidのエコシステムが成長し,たくさんのアプリが登場しました。公式アプリだけでなく,SDKを使って連携するサードパーティ製アプリもあります。たとえばSNSではTwitter,FacebookなどがSDKを提供しています。ユーザーが自分でどのアプリをインストールするかを選ぶ,いわゆるアタリ・ハズレを引く・引かないという楽しさは今も残っています。

Androidの場合,ユーザーが端末を選ぶところから楽しさというのは始まっています。欲しい機能などこだわりに応じて選択できますが,間違えると不満がたまります。そんなこともあり,各国ごとの需要を満たすべくローカライゼーションが進んでおり,その国で作られたAndroidが普及している状況です。

Androidをこれから学習する方へ

関:Androidの開発環境は,どれを選べばよいのでしょうか?

日高:言語はKotlin,IDEIntegrated Development Environment統合開発環境)はAndroid StudioまたはIntelliJ IDEAという組み合わせを選ぶのがよいでしょう。

関:Androidの最新情報を得るには,どこから得るのがよいでしょうか。

日高:Googleは公式ドキュメントを推奨しています。ただ,公式ドキュメントを読むモチベーションはなかなか上がりにくいかもしれません。日本語での情報が古いなどはよく聞きます。その代わり情報を発信している開発者はたくさんいるので,わからないことはコミュニティで聞けたり,いろんな情報を得たりすることができます。

Androidのバージョンアップ状況

関:Androidのバージョンアップ状況はいかがでしょうか?

日高:今はAndroid 11がリリースされています。開発環境のAndroid Studioのマイナーバージョンアップは,数週間から月1回ぐらいのペースですね。JDKJava Development KitのようなLTSLong Term Supportはありません。ほかのプラットフォームと比べるとAndroidの場合は,なくなる機能は少なく非推奨になるぐらいです。ただ,昔のAndroid端末をずっと使い続けられるとサポートも大変なので,Google Playストアからは「公開するアプリで利用するAndroid SDKは最新から1引いたものをターゲットにしてください」とお願いがでています。

関:昔のAndroid端末は,OSバージョンアップができませんでしたね。

日高:はい,初期のころはOSバージョンアップが難しく,実質的にできない構造となっていました。最近は2世代ぐらいまでならバージョンアップをサポートする動きも出ています。

そもそもAndroidの場合,バージョンアップに対する考え方がiOSやWindowsと違うんですね。なぜかというと,端末ごとにCPUやメモリが異なるため,バージョンアップするとまともには動かないデバイスがたくさんあるのです。私も不便に感じていました。

今は利用者も,もうそういうものだという風に慣れてきた感はあります。ある程度古いOSでも動作するアプリを作るような開発体制が整ってきた,ということもありそうです。

著者プロフィール

関満徳(せきみつのり)

プロジェクトマネージャー・スクラムマスターとして組織・プロダクトオーナー・チームを支援しながら後進人材の育成に従事。アジャイルやプロダクトマネジメントのコミュニティ活動多数。

GitHub:fullvirtue
Twitter:@fullvirtue
URL:https://fullvirtue.com/