この記事は Karen Ng、Jacob Lehrbaum による Android Developers Blog の記事 "What's new for Android developers at Google I/O" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android デベロッパーの皆さんは、世界中の人々を喜ばせるエクスペリエンスを作り出そうと日々努力を重ねています。人々がこれまでになくアプリを必要としている今、期待も大きくなり、デベロッパーとしての仕事の難易度も高まっています。私たちは Google I/O で、デベロッパーの皆さんをサポートするためにリリースした新機能をいくつか発表しました。過去最大級のデザイン変更を行った Android 12 や、高品質の優れたアプリ開発をサポートする Jetpack、Jetpack Compose、Android Studio、Kotlin などです。また、ウェアラブルデバイスや大画面対応が進むデバイスを通して、ユーザーによるアプリの使用シーンを広げるお手伝いをしています。こちらの Developer Keynote でもカバーしていますが、この記事でいくつかをハイライトしてご紹介します。
Android 12 は最初のベータ版のロールアウトがはじまったばかりですが、素晴らしい機能が満載です。ユーザーの安全のための機能である、Bluetooth や推定位置情報の利用許可、優先ジョブやスタートアップ アニメーションなどといったパフォーマンスの改善、よりインタラクティブなウィジェットやストレッチ オーバー スクロールなどの楽しいエクスペリエンスまで、このリリースで Android は過去最大級のデザイン アップデートをしています。
Android 12 Beta 1 の内容の詳細についてはこちらをご覧ください。内容をご確認いただき、年内公開のコンシューマ リリースに向けて、アプリの準備を始めてください。今すぐベータ版をダウンロードして、あなたのアプリでお試しください。
ここ数年間、私たちは Android 開発エクスペリエンスを進化することに取り組んできました。デベロッパーの皆さんのフィードバックに耳を傾け、フィードバックにオープンであり続けました。それが、Android の特徴だからです。しかしながら、自分たちが正しいと信じることに関しては、妥協しないよう心がけてきました。このことは、Android Studio(デベロッパーに合わせることができる高性能 IDE) 、Kotlin(より少ないコードでより多くのことを実現できるプログラミング言語)、Jetpack ライブラリ(後方互換性でモバイルに関連する最も難しい問題を解決するライブラリ)を通して、おわかりいただけるでしょう。
このオファリングの次のステップは Jetpack Compose、あらゆる Android デバイス向けの優れたアプリを簡単に構築できる最新 UI ツールキットです。私たちは、ここ Google I/O で 2 年前に Compose を発表し、それ以来新しいバージョンを公開しながら強化を重ね、フィードバックに耳を傾け、反映させてきました。今年はじめに公開した Compose Beta 版 では、世界中のデベロッパーの皆さんが、すばらしく革新的なエクスペリエンスを提供するアプリを通常の半分ほどの時間で作り出すことも実現されています(株式会社メルカリのケーススタディ)。また、Compose を使ったコンテストである #AndroidDevChallenge へのデベロッパーの皆さんからの熱い反響に、私たちはとても感動しました!
次回の Material You のアップデート(詳細はこちら)では、新しい マテリアル コンポーネントを追加し、大画面に対応する開発をさらにサポートする予定です。短期間で楽に素晴らしい UI を作成できるようになります。Compose のテストは最後の追い込み中です。1.0 Stable は 7 月にリリース予定です。ご準備ください。
公式の強力な Android IDE の最新リリース、Android Studio Arctic Fox (2020.3.1) Beta が、2021 年 5 月 19 日(現地時間 5 月 18 日)に公開されました。より楽に、より短期間で良質なアプリを開発できるようデベロッパーをサポートする IDE です。このツールスイートを提供しアップデートすることで、私たちは 3 つの主要テーマを強化してきました。そのテーマとは、UI 設計期間の短縮、新しいデバイスへのアプリ拡張、デベロッパーの生産性向上です。この最新リリースと Compose を合わせて使うことで、最新の UI を作成することができます。複数のデバイスでのテスト結果をご覧ください。そして App Inspector で、デバッグ データベースとバックグラウンド タスクを最適化してください。また、Accessibility Scanner (ユーザー補助検証ツール)を用いるとアプリがより使いやすく、Memory Profiler を用いるとアプリがより高性能になります。開発期間短縮のため、Android Gradle プラグイン 7.0、新しい DSL、さまざまな API を用意しました。Android Studio アップデートの詳細についてはこちらをご覧ください。
最近の調査によると、Kotlin はいまや、プロの Android デベロッパーに最も使われている第 1 言語です。実際、Google Play Store の 120 万以上のアプリで Kotlin が使用されています。これには、トップ 1000 アプリの 80% が含まれます。Google でも、Kotlin は愛されています。Drive、Home、Maps、Play など 70 以上の Google アプリで Kotlin が使用されています。そして Kotlin の注釈処理のために新しく作られた、まったく新しいネイティブソリューション、Kotlin Symbol Processing が本日リリースされました。Kotlin のコードを直接解析するための、強力だがシンプルな API です。Room のようなライブラリで最大 2 倍の速度を誇ります。
Android Jetpack で開発されたライブラリ スィートを利用すると、ボイラープレート コードが減り、本来のコードに集中することができます。現在、トップ 10,000 アプリの 84% 以上で Jetpack ライブラリが使用されています。そして 5 月 19 日(現地時間 5 月 18 日)、Jetpack 向けの新リリースがいくつか公開されました。アプリをリリースする前にアプリの起動に影響を与える大きなインタラクションやジャンクを把握するための Jetpack Macrobenchmark(Alpha)、Jetpack DataStore(Beta)を介してデータをより効率良く維持するための新しい Kotlin Coroutines API などです。Android Jetpack のアップデートの詳細についてはこちらをご覧ください。
最新の Android 開発環境を構築する上で、私たちが心掛けているもっとも大事なことは、これらのツールを提供することで 皆さんがより容易に Android の次の時代を切り開いていけるようにするということです。そしてそれは、電話と各種デバイス(テレビ、自動車、時計、タブレット)が接続し、連携することで生まれる新たな世界を実現することに他なりません。
今日 5 月 19 日(現地時間 5 月 18 日)から私たちは、ウェアラブルにむけて大きな一歩を踏み出します。まず、Samsung と合同で Wear と Tizen の長所を組み合わせた統合プラットフォームを構築すると発表しました。次に、刷新した Google アプリによる新しいコンシューマ エクスペリエンスをベストプラクティスとして共有しました。3 つめとして、Fitbit の世界クラスの健康フィットネス サービスをプラットフォームに取り入れることにしました。これは、Android デベロッパーにとっては、手が届く範囲が広がること、そしてモバイルアプリを素晴らしいものとする既存のスキル、ツール、API のすべてを使えることを意味します。結果として、世界中の人に使われる単一のウェアラブルプラットフォームが構築されるのです。
Wear 向けの新しい Jetpack API は、小型スクリーン用に調整し、バッテリーの寿命を伸ばすために設計しました。Jetpack Tiles API を使えば、Wear エコシステムの中のあらゆるデバイス向けカスタムタイルを作成できます。他にも Wear での開発を支援する新しい機能がたくさんあります。Samsung と共同してつくられた健康フィットネス向けの新しい API セットを使用すると、センサーやメトリクス計算のデータ コレクション(心拍数、カロリー、毎日の移動距離など)が、1 つの信頼できるデータソースから取得された、無駄のない、一貫性を持った、正確なデータになります。これらすべてが新しいツールにまとめられて、Android Studio Arctic Fox Beta でリリースされています。アプリをテストするための簡易なペアリングや、エミュレータでの仮想の心拍数センサーまで揃っています。アプリが配信されたら、ユーザーは、大きくアップデートされアプリの見つけやすさも向上した Google Play で、 より容易に Wear アプリの世界を楽しむことができます。Wear アップデートの詳細については、こちらをご覧ください。
タブレット、折りたたみ式デバイス、Chrome OS ノートパソコンなど、スマホのコンテンツをより大きな画面で体験するユーザーが増えています。人々は、家族や友人とのつながりを保ったり、学校に行ったり、リモートワークしたりする目的で、大型画面デバイスにますます依存するようになっています。実際に使用されている大型画面の Android デバイスは 2 億 5000 万台を超えています。Chrome OS は昨年、PC 市場の成長率の 5 倍、前年比で +92% 成長しました。その結果、Chrome OS は最速の成長を遂げて、2 番目に人気のデスクトップ OS になりました。この機会を掴むべく、大型画面でのエクスペリエンスをより簡単に最適化するための API と各種ツールを用意しました。たとえば、SlidingPaneLayout 1.2.0 と新しい垂直ナビゲーション レール コンポーネントを使うと大きくなった空間に合わせてコンテンツのサイズが自動調整されます。コンポーネントの幅を最大化することで UI が間延びしないようにします。また、プラットフォーム、Chrome OS、および Jetpack windowmanager がアップデートされたため、デフォルトでもアプリが問題なく動作します。詳細についてはこちらをご覧ください。
以上のことは、高品質の Android アプリを構築しやすくする、新しい方法のほんの一部です。5 月 19 日(現地時間 5 月 18 日)以降、私たちは Android と Google Play に関するテクニカル セッションを 20 以上公開し、バックグラウンド タスク、プライバシー、Android における機会学習、Android 12 に備えるトップ 12 のヒントなど、さまざまなトピックを扱います。自動車、テレビ、ウェアラブルの構築を担当する方のためのセッションもあります。こうしたセッションなどのすべての情報は、I/O の Web サイトにあります。今年の Google I/O では、セッションやニュースだけでなく、Google 関係者や他のデベロッパーとバーチャルにつながることができる楽しい仕掛けがたくさんあります。I/O Adventure の Android ドームをチェックしてください。新しいブログ投稿、ビデオ、コードラボなどをご覧いただけます。Jetpack Compose スキルを試したり、ドーム内部の自動車を巡るバーチャルツアーにもご参加ください!(注:会期外でアクセスできないプログラムがありますのでご了承ください)
Reviewed by Yuichi Araki - Developer Relations Team and Tamao Imura - Developer Marketing Manager, Google Play
この記事は Jolanda Verhoef による Android Developers Blog の記事 "Creating custom Tiles on Wear OS by Google with the Jetpack Tiles library" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Wear OS by Google スマートウォッチのタイルは、2019 年に導入されてから、特に便利で有用な機能になっています。タイルは高速にアクセスでき、使い勝手が良く、手首から必要な情報や作業にスワイプでアクセスできるように設計されています。さらに、ユーザーは確認したい情報やアクションを自由に操作できます。
2021 年 3 月 12 日(日本時間 3 月 13 日)に、Jetpack Tiles ライブラリがアルファ版になったことをお知らせします。このライブラリを使うと、デベロッパーは Wear OS スマートウォッチでカスタムタイルを作成できます。なお、対応する Wear OS プラットフォームのアップデートが今春にロールアウトされた後、ユーザーはカスタムタイルを利用できるようになります。
タイルは、日々の活動の進捗状況をトラッキングする、すばやくワークアウトを始める、最近聴いた曲を再生する、お気に入りの連絡先にメッセージを送信するなど、たくさんのユースケースに利用できます。アプリが没入的な体験を提供できる一方、タイルは高速に読み込めるので、ユーザーはすぐに行いたいことに集中できます。ユーザーがさらに情報を必要としているなら、タイルをタップしてスマートウォッチやスマートフォンで関連するアプリを開き、細かい処理を行うことができます。
タイルは Wear OS アプリの一部として、Android Studio で作成できます。最初に Wear OS Tiles への依存関係を追加します。
dependencies { implementation "androidx.wear:wear-tiles:1.0.0-alpha01" debugImplementation "androidx.wear:wear-tiles-renderer:1.0.0-alpha01" }
1 つ目の依存関係には、タイルの作成に必要なライブラリが含まれています。2 つ目の依存関係は、アクティビティでタイルをプレビューするためのものです。
次に、TileProviderService を使ってタイルの表示に必要な情報を提供します。
TileProviderService
class MyTileService : TileProviderService() { override fun onTileRequest(requestParams: RequestReaders.TileRequest) = Futures.immediateFuture(Tile.builder() .setResourcesVersion("1") .setTimeline(Timeline.builder().addTimelineEntry( // For more information about timelines, see the docs TimelineEntry.builder().setLayout( Layout.builder().setRoot( Text.builder().setText("Hello world!") ) ) ) ).build()) override fun onResourcesRequest(requestParams: ResourcesRequest) = Futures.immediateFuture(Resources.builder() .setVersion("1") .build() ) }
このコードには、重要な部分が 2 つあります。
onTileRequest()
TimelineEntry
onResourcesRequest()
タイルをプレビューするには、簡単なアクティビティを作成します。このアクティビティは、デバッグおよびプレビューのみに利用するので、src/main ではなく、src/debug に追加します。
src/main
src/debug
class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val rootLayout = findViewById<FrameLayout>(R.id.tile_container) TileManager( context = this, component = ComponentName(this, MyTileService::class.java), parentView = rootLayout ).create() } }
以上でタイルを公開する準備が整います。さらに詳しい手順を知りたい方や、タイルについてのさらに詳しい情報を確認するには、新しいガイドと、サンプルタイルの実例をご覧ください。
Jetpack Tiles ライブラリはアルファ版なので、API を改善するためのフィードバックをお待ちしています。それでは、コーディングをお楽しみください。
Reviewed by Yuichi Araki - Developer Relations Team and Tamao Imura - Developer Marketing Manager, Platforms and Ecosystems