[go: nahoru, domu]

この記事は Florina Muntenescu による Android Developers Blog の記事 "MAD Skills Kotlin and Jetpack: wrap-up" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


今回は MAD Skills シリーズの 1 つ、Kotlin と Jetpack についての動画と記事をまとめました。Android コードの表現力と簡潔さ、安全性を向上させ、Kotlin で非同期コードを実行しやすくするさまざまな方法を取り上げています。

それぞれのエピソードから、Kotlin と Jetpack についての最新情報をご確認ください。いくつかの具体的な API を取り上げ、API の使い方だけでなく、API が内部的にどのように動作しているか解説しています。また、すべてのエピソードには対応するブログ投稿があり、そのほとんどにサンプルか Codelab へのリンクが含まれているので、実際に試してみたり、コンテンツに関する理解を深めたりできます。また、Jetpack や Kotlin のエンジニアが登場するリアルタイム Q&A も実施しました。

エピソード 1 - KTX ライブラリの使用

このエピソードでは、Jetpack KTX 拡張機能を使って、Android と Jetpack のコーディングを簡単、快適、そして Kotlin らしくする方法を取り上げました。現在のところ、20 以上のライブラリに KTX 版があり、その中から特に重要なものを紹介します。core-ktx は、Android プラットフォームに由来する API を Kotlin らしく書けるようにする機能を提供しています。また、LiveData や ViewModel などの API と組み合わせてユーザー エクスペリエンスの向上を図れるいくつかの Jetpack KTX ライブラリも紹介します。

動画またはブログ記事(英語)をご覧ください。


エピソード 2 - コルーチンと Flow で API をシンプルに

エピソード 2 では、コルーチンと Flow を使って API をシンプルにする方法と、suspendCancellableCoroutine API と callbackFlow API を使って独自のアダプタを作る方法について説明します。このトピックを実際に試してみたい方は、Kotlin 拡張機能ライブラリの作成 Codelab をご覧ください。

動画を視聴するか、ブログ記事(英語)でご確認ください。


エピソード 3 - Room Kotlin API の使用とテスト

このエピソードでは、実際に Room を使ってみます。その上で、Kotlin を使って Room のテーブルやデータベースを作る方法、挿入などの 1 回限りの suspend 操作を実装する方法、Flow を使った監視可能クエリーについて簡単に確認します。コルーチンと Flow を使うと、Room はすべてのデータベース操作をバックグラウンド スレッドに移してくれます。Room のクエリーの実装方法やテスト方法については、動画またはブログ記事(英語)をご覧ください。実際に試してみたい方は、ビューで Room を使う Codelab をご覧ください。



 エピソード 4 - WorkManager Kotlin API の使用

エピソード 4 では、WorkManager を使って作業を簡単にする方法について説明します。この機能を使うと、非同期タスクのスケジュールを設定して、アプリが閉じられた場合や、デバイスが再起動した場合にも実行されることが期待されるタスクを、即時実行または遅延実行できます。このエピソードでは、WorkManager の基本について説明し、CoroutineWorker などの Kotlin API についても解説しています。


こちらの動画またはこちらのブログ記事(英語)をご覧ください。また、ぜひ WorkManager Codelab で実際に体験してみてください。



エピソード 5 - コミュニティ ヒント

エピソード 5 では、Android の Google Developer Expert の Magda Miu さんが Kotlin の基本 API と CameraX を使った経験についてお話ししています。



エピソード 6 - リアルタイム Q&A

最後のエピソードでは、リアルタイム Q&A を実施しました。司会の Chet Haase のほか、ゲストとして Architecture Components テックリードの Yigit Boyar、Kotlin プロダクト マネージャーの David Winer、そしてデベロッパー リレーションズ エンジニアの Manuel Vivoが参加し、YouTube、Twitter などから寄せられた質問に回答しています。



Reviewed by Yuichi Araki - Developer Relations Team and Hidenori Fujii - Google Play Developer Marketing APAC

この記事は The AMP Blog の記事 "No code required: Build a fast, world-class WordPress site" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

編集者のメモ: 以下のゲスト投稿は、Jetpack のリード アーキテクト、Dan Walmsley 氏による投稿です。元の記事は、 Jetpack ブログに投稿されました。

私たちは、今まで以上にオンラインで時間を使っています。ビジネスを立ち上げようとしている方にも、創造性を発揮しようとしている方にも、高速で美しく、最高のアイデアを優雅に表現できるウェブサイトは欠かせません。また、検索エンジンはこれまで以上にパフォーマンスを重視しているので、遅いウェブサイトでは最適化したはずの SEO が大きく損なわれる可能性があります。

この記事では、Jetpack と公式 AMP for WordPress プラグインという 2 つのプラグインだけを組み合わせて、ワールドクラスのパフォーマンスと SEO を実現する方法について説明します。準備はよろしいでしょうか。早速始めましょう!

プラグインの難題

WordPress には 55,000 個以上のプラグインがあり、さまざまな機能を実現しています。しかし、適切なプラグインを探すのが難しい場合もあります。プラグインを選べたとしても、すべてを高速に動作させることには大きな困難が伴います。それぞれのプラグインによってさまざまなファイルがページに追加され、サイトが遅くなっていきます。 

プラグインやテーマ自体を編集する以外に選択肢はない場合も珍しくありません。そのため、多くのサイト運営者は専門家を雇うことになりますが、その費用はどんどんかさんでいきます。

高速なウェブサイトを作成する最適なツールの 1 つに、AMP があります。AMP はもともと Google が作成し、現在は OpenJS Foundation の一部になっています。AMP は、パフォーマンスを向上させるさまざまなことを自動で行っています。しかし、AMP エコシステムは現在も拡大を続けており、他の WordPress プラグインすべてと互換性があるわけではありません。 

しかし、AMP と組み合わせることで、プログラマーでなくても簡単に使えるソリューションになるプラグインがあったとしたら、どうなるでしょうか。うれしいことに、1 セットのツールだけで、ほぼすべてのウェブサイトに必要なパワーとパフォーマンスをすべて活用できる方法が登場しています。 

AMP + Jetpack: シンプル、パワー、スピード

ここ半年以上にわたり、Google と Jetpack は、一流の WordPress 開発会社である XWP と連携し、WordPress 用の高パフォーマンスのオールインワン ツールキットを作成してきました。

Jetpack は、常に最高級の WordPress 用オールインワン プラグインであり続けています。Jetpack には、25 以上のブロックと 30 以上のウィジェットが含まれており、統計、ソーシャル共有、支払いボタン、動画ホスティング、Podcast プレーヤーなど、ほとんどのウェブサイトに必要なすべての機能を 1 か所で提供します。さらに、バックアップやスパム対策、マルウェア スキャンが組み込まれているので、サイトやデータの保護という面でも安心できます。

Google や XWP を含む AMP Project の貢献者が作成した公式 AMP for WordPress プラグインは、すぐに使えるソリューションを提供します。さらに、常に高いパフォーマンスで動作するサイトを最低限のリソースで構築および保守する際に役立ちます。  

この 2 つのプラグインを使えば、美しく高速で最先端のウェブサイトを、コーディングなしで構築するために必要な機能がすべて提供されます。

スタートガイド

Jetpack のインストールと設定
  1. [Plugins] > [Add New] を開きます([サイトの URL]/wp-admin/plugins-install.php)。一覧または検索ボックスを使って Jetpack を見つけて、インストールおよび有効化します。
  2. プロンプトが表示されたら、[Set Up Jetpack] をクリックします。
AMP のインストールと設定
  1. 再び、[Plugins] > [Add New] を開きます([サイトの URL]/wp-admin/plugins-install.php)。一覧または検索ボックスを使って AMP を見つけて、インストールおよび有効化します。 
  2. プラグインを有効化したら、プラグインの一覧から AMP の [Settings] リンクをクリックし、[Standard Mode] で AMP プラグインを設定します。これで、サイトのすべてのページを AMP を使ってレンダリングするように WordPress を設定できます(AMP プラグインで Standard Mode を使うには、AMP 対応のテーマを利用する必要があります。AMP と Jetpack を使う際に利用できるさまざまな設定オプションについては、AMP for WordPress プラグインのサイトをご覧ください。AMP 対応のテーマを使わない場合も、これをご確認ください)。

可能性は無限大

これで完了です。準備はできました。Jetpack と AMP を使うことで、超高速で最高の SEO を実現する真に傑出したウェブサイトを構築する力が得られます。  

すばらしいウェブサイトを支えるバックボーンを設定できました。次は、Jetpack ブロックを使ってエンゲージメントの高いさまざまな種類のコンテンツを追加する方法をご確認ください。もう一度言いますが、コーディングは不要です。


Reviewed by Chiko Shimizu - Developer Relations Team

この記事は Karen Ng による Android Developers Blog の記事 "Announcing Jetpack Compose Alpha!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


8 月 26 日(日本時間 8 月 27 日)Jetpack Compose のアルファ版を公開しました。最新の UI ツールキット Jetpack Compose は、すべての Android プラットフォームで美しいアプリをすばやく簡単に構築するために設計されており、プラットフォーム API へのネイティブ アクセスを提供します。劇的に削減されたコード、インタラクティブなツール、そして直感的な Kotlin API を活用して、魅力あふれるアプリを作りましょう。

時間を節約し、少ないコードで成立するプログラミング言語と IDE、そして強力な UI フレームワークは、どんなアプリを開発する時でも必要です。Jetpack Compose は、皆さん(と私たち)の UI 構築の生産性を上げるために開発しました。

その最初の一歩が Android Jetpack でした。この一連のライブラリは、Android でデベロッパーが頻繁に直面する難しい問題を解決するために開発し、プラットフォームのあらゆるバージョンでアプリを確実に動作させ、高い品質を確保できるライブラリとなっています。現在、Google Play ストアのトップ 10,000 アプリの 84% で、いずれかの Jetpack ライブラリが使われています。

また、Kotlin も使用率が高く、現在トップ 1,000 アプリの 70% 以上、そして Android デベロッパーの 60% が Kotlin を使っています。Google Home アプリを例に挙げると、Kotlin を使うことでコードの行を 80% 削減できました。さらに、NullPointerException は過去の同期間と比べて 33% 減少しました。Duolingo も、Kotlin を導入することで平均 30% のコード行数の削減を実現しました。

Jetpack Compose は、大規模で高品質なアプリを構築できる API、直感的な言語、そしてリアクティブ プログラミング モデルを組み合わせたものです。 デベロッパーの皆さんから寄せられていた、シンプルな宣言型 API による UI の構築を希望するというフィードバックを実現しました。





Jetpack Compose アルファ版


Jetpack Compose アルファ版には一連の API が含まれており、強力なツールや、本格的な Android アプリの構築に必要なものがすべてそろっています。既存の Android ビューとの相互運用性も備えていますので、アプリを書き直す必要はありません。Compose API は、マテリアル デザインを使った正規のサンプルアプリのセットとともに設計、開発されています。このサンプルアプリのセットも 8 月 26 日に公開しましたので、Android Studio に直接インポートして試してみることができます。





Jetpack Compose アルファ版には、次のものが含まれています。

  • アニメーション
  • Constraint Layout 
  • デフォルトでサポートされる A11Y
  • 入力とジェスチャー操作
  • ビューとの相互運用性(既存アプリで Composable 関数を利用可能)
  • 遅延読み込みリスト
  • マテリアル UI コンポーネント
  • パフォーマンス最適化
  • テスト
  • テキストと編集可能テキスト
  • テーマとグラフィック
  • ウィンドウ管理

Compose でアプリを作りやすくするため、Jetbrains Kotlin チームとも連携して Android Studio 4.2 Canary 版にも多くの新機能を追加しています。

  • Compose コード補完
  • Compose プレビュー アノテーション
  • 端末への Composable の個別デプロイ
  • インタラクティブ Compose プレビュー
  • コード生成用 Kotlin コンパイラ プラグイン
  • Compose 用 Sample Data API






Compose の特長



Compose は、Android の既存 UI 構築モデルとはまったく異なるプログラミング モデルを使用しています。Android ビューの階層は、当初から UI ウィジェットのツリーとして表現されています。アプリの状態が変更されると、現在のデータを表示するために UI 階層を更新する必要があります。UI を更新する場合は、findViewById() などの関数を使ってツリーから UI を検索し、button.setText(String) や container.addView(View)、img.setImageBitmap(Bitmap) などのメソッドを呼び出してノードを変更するのが一般的な方法です。これらのメソッドは、ウィジェットの内部状態を変更します。手動でビューを更新するという作業は、面倒であるだけでなく、エラーが起きる可能性も高くなります(例: ビューの更新を忘れる)。
Jetpack Compose では、完全に宣言的でコンポーネントベースのアプローチを採用しています。つまり、UI は、データを UI 階層に変換する関数として記述します。ベースとなるデータが変更されると、Compose フレームワークは自動的に UI 階層を更新します。そのため、UI をすばやく簡単に構築できます。





既存の Android ビューとの完全な相互運用性



新しいフレームワークを採用すると、既存のプロジェクトやコードベースに大きな変更が発生します。そのため、Compose は Kotlin と同じくらい採用しやすいものとして設計しました。Compose は、既存の Android コードと完全に相互運用が可能で、すぐに使い始めることができます。

Compose への移行方法は、担当者やチームによってさまざまです。新しいアプリを構築する場合は、UI 全体を Compose で実装する方法が最適かもしれません。しかし、ほとんどの皆さんは既存の大きなコードベースを抱えているはずです。その場合は、アプリを書き直すよりも、既存の UI デザインに Compose を組み込む方がよいでしょう。
主に次の 2 つの方法を使用して、ビューベースの UI に Compose を組み込むことができます。
  • Compose の要素を既存の UI に追加します。これは、まったく新しい Compose ベースの画面を作るか、Compose の要素を既存のフラグメントやビューによるレイアウトに追加することで実現します。
  • Composable 関数にビューベースの UI 要素を追加します。この方法を使うと、MapView や WebView などの Compose 以外のウィジェットを Compose ベースのデザインに追加できます。



さらに、新しいライブラリ MDC Compose Theme Adapter も公開しています。これを使うと、Compose UI で既存のマテリアル コンポーネント テーマを再利用できます。
詳細については、既存のアプリで Compose を使うためのコードラボを試してみるか、次の 2 つのサンプルをご覧ください。





強力なツール



構築する UI をすばやく繰り返し試せるように、Jetpack Compose は Android Studio の強力なツールと組み合わせて利用できるように構築されています。
Compose レイアウト プレビューを使うと、端末やエミュレータにアプリをデプロイしなくても、Compose コンポーネントをプレビューできます。アプリに変更を加えると、プレビューが更新されてすばやく変更点を確認できます。レイアウト プレビューを作成するには、パラメータのない Composable 関数を作成して @Preview アノテーションを追加します。アプリをビルドすると、Studio のプレビュー ペインにプレビュー関数の UI が表示されます。




Android Studio では、インタラクティブ プレビュー モードを利用できます。インタラクティブ プレビュー モードでは、UI 要素のクリックや入力が可能です。UI はインストールしたアプリと同じように反応します。




また、Composable を単独で物理端末や Android Emulator にデプロイすることもできます。Android Studio は、新しいアクティビティを作成してその関数が生成した UI を追加し、端末のアプリにデプロイします。これにより、アプリ全体を再インストールしたりその場所に移動したりすることなく、実際の端末で UI を試すことができます。





Jetpack Compose を使ってみる


Jetpack Compose を使ってみたい方は、Compose チュートリアル を試し、セットアップを行ってみてください。または、直接サンプルアプリを確認することもできます。これらのアプリを紹介している ‘Compose by Example’ の動画もご覧ください。





新しいコードラボやさらに充実したドキュメントなど、Compose 全般に関する情報を確認したい方は、Compose Pathway をご覧ください。

Jetpack Compose は、昨年のオープンソース化以降も引き続き多くの方から貴重なフィードバックをお寄せいただいています。また、バグの記録、 CLにも貢献してくださっています。現在の Jetpack Compose があるのは、皆さんのおかげです。本当にありがとうございました!

Compose は安定版 API に向けた作業やパフォーマンス最適化を行っている段階のため、まだ本番環境での利用は推奨されていません。ですが、ぜひお試しいただき、フィードバックをお寄せくださいKotlin Slack の #compose チャンネルで行われているディスカッションへの参加もお待ちしています。Compose 1.0 は、2021 年のリリースを予定しています。
ぜひ Compose を使ってみてください!


Reviewed by Yuichi Araki - Developer Relations Team and Hidenori Fujii - Google Play Developer Marketing, APAC

この記事は Diana Wong による Android Developers Blog の記事 "11 Weeks of Android: Jetpack" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。



このブログ投稿は、 Android 11 に関する重要な内容を毎週取り上げる #11WeeksOfAndroid シリーズの一部です。第 6 週は、Android Jetpack がテーマです。


2018 年、私たちは Android Jetpack をリリースしました。Android Jetpack は、デベロッパーがベスト プラクティスに従ってボイラープレート コードを減らし、異なる Android のバージョンや端末でも動作するコードを書けるようにするためのライブラリ群です。

これまで目にしてきた Android Jetpack の成長と、デベロッパーの皆さんが共有してくださったすばらしいフィードバックに、私たちはとても感激しています。AppCompat や Lifecycle などのコアライブラリを除いても、トップ 1000 アプリの 47% が 2 つ以上の Jetpack ライブラリを使っています。私たちのここ数年の業務は、皆さんが注力すべきコードに集中できるように、Android デベロッパーにとって基本的な部分を簡単にするため、既存ライブラリに多くのアップデートをリリースしてきました。また、高品質なアプリを簡単に作れるように、新しいライブラリのリリースも行っています。

関連動画


昨年も、多くのアップデートをリリースしました。Jetpack の新機能全般については、#Android11 ベータ版リリースの際のトークをご覧ください。このライブラリへの多くのアップデートを簡単に紹介するとともに、Jetpack を使いはじめる方法もご説明しています。






Hilt などのメジャーリリースについては、こちらの動画をご覧ください。また、チートシートや、実際に私たちのサンプルで依存性注入に Hilt を使うように移行した手順も紹介しています。ボイラープレートが減るということは、楽しみが増えるということです。





Paging 3.0 は、コルーチンをベースに Kotlin ファーストで書かれた最初のライブラリの 1 つです。Paging ライブラリには、皆さんから要望された機能が追加されています。たとえば、エラー ハンドリングの改善、マップやフィルタなどの簡単なリスト変換、セパレータやヘッダー、フッターなどの共通機能のサポートです。RxJava、LiveData、ListenableFuture のサポートや、Paging 2 との下位互換性も追加したので、簡単に移行できます。






アプリでカメラを使っている方は、現在ベータ版の CameraX を使えば、皆さんに代わってさまざまな端末や OS バージョンのエッジケースを管理してくれます。




今年は、Navigation 2.3 のリリースでいくつかの大きな改善も行いました。これにより、Android の UI 原則を維持しつつ、アプリの異なる画面間を簡単にナビゲートできるようになりました。




Android 11 のアクセス許可について



Android 11 では、ユーザーが機密性の高いアクセス許可をさらに細かく制御できるようになっています。同時に、デベロッパーの皆さんができる限り簡単に Android 11 の要件に合ったアプリやゲームを開発できるようにすることも非常に重視しています。ここ数回の Android 11 Beta のリリースにはプライバシー関連の変更点が含まれています。それに合わせて、Android Jetpack を使ってアプリで簡単にアクセス許可を扱えるようにしています。新しい ActivityResult API には、共通インテントなどのための型安全なコントラクトが含まれています。こういった変更により、アクセス許可のリクエストが簡単になります。今後さらに、アクセス許可を簡単に扱えるようにする予定です。


Android Jetpack の情報をチュートリアルで確認する



Android Jetpack に関するハイライトを確認したい方は、チュートリアル形式で動画や関連ブログ記事・コードラボをまとめて確認できる Android Jetpack の Pathway をご覧ください。Pathway は、モジュールを順番に完了する形式になっており、最後にはクイズをご用意しています。クイズに合格した方には、もれなくバーチャルの Jetpack バッジが贈られ、Google Developer Profile に掲載されます。その他 Jetpack ライブラリの詳細や最新アップデートを簡単に確認できる新しいライブラリ エクスプローラもご用意しています。

#11WeeksOfAndroid 第 6 週 Android Jetpack のまとめ



Jetpack ライブラリは、高品質な Android アプリを簡単に構築するためのベスト プラクティスであり、確固としたガイダンスを提供しています。Navigation や Workmanager には新機能を、CameraX には安定性向上のためのアップデートを、Biometrics には堅牢性を追加しています。さらに、Dagger との共同作業による Hilt や、アプリの起動時間を短縮するライブラリなど、新しいライブラリもリリースしました。
ぜひこれらのライブラリを試していただき、感想をお聞かせください。皆さんの改善への協力をお待ちしています!

関連情報・ドキュメント


#11WeeksOfAndroid 動画コンテンツの全プレイリストはこちらから、それぞれの週の詳しい内容はこちらからご覧いただけます。毎週新しい分野を取り上げますのでご期待くださいTwitterYouTube のフォローもお願いします。


編集部注:日本で 8 月 4 日 に Android Studio 4.0 と Jetpack のオンラインイベントを行います



8 月 4 日(火)16 時から、2020 年 6 月に リリースした Android Studio の安定版 4.0 に関するノウハウや、新しいデバッガーの利用、ならびに Jetpack の最新情報をスペシャリストがオンラインでお伝えする Android 11 Meetups 第 4 回目を日本(日本語)で開催します。

Android 11 Meetups は、6 月 23 日  から 9 月 29 日にかけて、計 8 回に渡って開催されている、アプリ開発企業のエンジニアやプロダクト担当の皆さまを主な対象としたオンラインセミナーシリーズです。ぜひこちらのウェブサイトで登録・参加(視聴)ください


Reviewed by Yuichi Araki - Developer Relations Team and Hidenori Fujii - Google Play Developer Marketing APAC

この記事は Android プロダクト マネジメント ディレクター、Stephanie Cuthbertson による Android Developers Blog の記事 "Google I/O 2018: What’s new in Android" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Android がこの10 年間で飛躍的な成長を遂げるとともに、デベロッパー コミュニティも大きく成長しています。中国、インド、ブラジルなどの国では、わずか 2 年間で Google の IDE を使用するデベロッパーが約 3 倍に増えました。このような成長を受け、Google ではデベロッパーのエクスペリエンス向上に対する責任を今まで以上に強く感じています。デベロッパーからの意見を参考に、Google ではモバイル開発をより速く簡単にすること、アプリを大幅に軽量化してユーザー数を増やすこと、エンゲージメントを高めてユーザーをつなぎとめることに注力しています。また、Android Things 1.0 を発表し、デベロッパーの皆さんが主要なユーザー端末から最新の遠隔操作車両まであらゆるものを開発できる新しい機会を提供できることを嬉しく思います。Google I/O をキックオフした Day 1 では、デベロッパー基調講演にてこれらの主要なテーマについて詳細に紹介しました。

開発: モバイル開発をより速く、より簡単に

  • Android Jetpack — 米国太平洋標準時の 5 月 8 日、Google はアプリの開発をより迅速にする Android Jetpack を発表しました。Android Jetpack は、次世代の Android コンポーネントです。Support Library のメリットである下位互換性と即時更新をより多くのコンポーネントにもたらし、堅牢で高品質のアプリを迅速かつ簡単に開発できるようにします。Android Jetpack により、バックグラウンド タスク、ナビゲーション、ライフサイクル管理などのアクティビティが管理されるため、ボイラープレート コードを排除することができ、アプリの品質向上に集中できます。Android Jetpack は、Kotlin を使用できるように設計されているため、Android KTX を使用してコードを簡素化できます。WorkManager、Paging、Navigation、Slices を含むこの新しい Android Jetpack コンポーネントも、同日リリースしました。




  • Kotlin — 昨年 Kotlin のサポートを発表して以来、デベロッパー コミュニティではこの言語が活用されてきました。最も注目すべき点は、95% のデベロッパーが Android 開発における Kotlin の使用に非常に満足していることです。また、この言語を使用するデベロッパーが増えるほど、この満足度が向上しています。昨年、Kotlin を使用した Google Play ストアのアプリの数は 6 倍に増加しています。35% のデベロッパーがこの言語を使用しており、この割合は毎月増加しています。Google では、ライブラリ、ツール、ランタイム、ドキュメント、トレーニングのすべてにおいて Kotlin デベロッパーのエクスペリエンスの向上に継続的に取り組んでいます。そして先週、Android Jetpack の一環として Kotlin デベロッパーのエクスペリエンスを最適化する Android KTX をリリースしました。Android Studio、Lint のサポート、R8 の最適化によってツールも改善を続けています。Kotlin で作成されたアプリの実行を速くするため、Android P の Android ランタイム(ART)についても調整しました。Kotlin コードの各種スニペットを公式のドキュメントで公開済みであり、また、API リファレンス ドキュメントの Kotlin バージョンを公開しました。I/O 開始前の先週前半には、Udacity の Kotlin ブートキャンプを新しくリリースしました。これは、Kotlin を初めて使うデベロッパーに最適なリソースです。最後に、Kotlin に特化した Google Developers Experts プログラムを策定しました。Kotlin をまだ使用していなければ、ぜひお試しください。
  • Android Studio 3.2 Canary Android Studio 3.2 には、視覚的な Navigation Editor や新しいコード リファクタリング ツールを含む Android Jetpack のツールが搭載されています。Canary リリースには、新しい Android アプリ バンドル フォーマットを作成するためのビルド ツール、Android Emulator を高速起動するためのスナップショット、ダウンロードとインストールをするアプリのコードサイズを小さくする新しい R8 オプティマイザ、アプリのバッテリー寿命への影響を計測する新しい Energy Profiler なども含まれます。最新バージョンの Android Studio 3.2 は、Canary チャンネル ダウンロード ページからダウンロードできます。


配信: アプリを大幅に軽量化

  • Android App Bundleと Google Play ダイナミック配信 — Android の新しいアプリモデルが導入されました。新しい公開フォーマットの Android App Bundleによって、アプリのサイズが劇的に削減されます。Android Studio では、すべての言語、すべての端末画面サイズ、すべてのハードウェア アーキテクチャが含まれるアプリバンドルをビルドできるようになり、アプリがあらゆる端末に対応できるようになりました。ユーザーがアプリをダウンロードするときに、Google Play の新しいダイナミック配信により、 ユーザーの端末に一致する コードとリソースのみが配信されます。Google Play ストアではユーザーに小さなインストール サイズが表示され、より短時間でアプリをダウンロードでき、端末上のスペースを節約できます。

(左)従来の APK で端末に配信されるすべてのリソースの例 
(右)端末に必要なものだけが提供されるダイナミック配信の例
  • Android App Bundle による動的機能 — Android App Bundle ではモジュール化が可能であるため、インストール時ではなくオンデマンドで機能を配信できます。動的な機能モジュールは、最新の Android Studio Canary リリースでビルドできます。ベータ版プログラムに参加して、Google Play に公開してください。
  • Google Play ConsolePlay Console の新しい機能とレポートは、アプリのパフォーマンス向上に役立ち、ビジネスを成長させます。ダッシュボード、統計、Android Vitals、リリース前レポート、獲得レポート、定期購入ダッシュボードの改善に関する記事をお読みください。また、新しい公開フォーマットの Android App Bundle を使用して、アプリのアップロード、テスト、公開を行うことができます。
  • Google Play Instant — GDC でのベータ版のリリースを経て、 Google は、すべてのゲーム デベロッパーがインスタント アプリを作成可能であることを発表しました。私たちは、Candy Crush Saga を迎え入れることを嬉しく思います。Google Play Instant は、現在全世界の 10 億を超える端末で利用可能です。Play ストア、検索結果、ソーシャルやほとんどの場所からリンクをタップしてご利用いただけます。インスタント アプリの作成を簡単にするために、Google は今週 Unity プラグインと Cocos クリエータとのベータ版統合をリリースします。先日、Google Play Instant と AdWords の互換性のテストを開始しました。この互換性により、ユニバーサル アプリ キャンペーンでリーチしたすべてのチャンネルで広告から直接ゲームを楽しむことができます。

エンゲージメント: ユーザーのリピート率を高める

  • SlicesSlices は、アプリに豊富に含まれる動的でインタラクティブなコンテンツを Android や Google サーフェス内に表示する UI テンプレートです。Slices には、ライブデータ、スクロール コンテンツ、インライン アクション、アプリへのディープリンクを含めることができるため、ユーザーは音楽の再生から予約の最新情報の確認まであらゆる操作が可能です。Slices には、切り替えやスライダーなどのインタラクティブなコントロールを含めることもできます。Slices の構築は今すぐ始められます。そして、すぐにユーザーに表示されます。

Check reservations with Slices.Control music with Slices.Call a Lyft using Slices.


  • アクション— アクションは、アプリの機能とコンテンツにアクセスしやすくして、ユーザーが適切なタイミングでこれらにアクセスできるようにするための新しい方法です。アプリ アクションは、Google 検索アプリ、Play ストア、Google アシスタント、ランチャーなど、Google および Android の複数のサーフェスの使用状況や関連性に応じてユーザーに表示されます。すべてのデベロッパーは、アプリ アクションを間もなくお試しいただけます。通知を受けたい場合は、こちらからお申し込みください。また、アプリのコンパニオン エクスペリエンスとして会話アクションを作成することもできます。これは、スピーカーやスマート ディスプレイなどのさまざまなアシスタント対応端末で動作します。両方のタイプのアクションでは、インテントの新しい共通カタログを使用します。



スマート端末: IoT デバイスの強力なプラットフォーム

  • Android Things 1.0 Android Things は、Google が管理する OS です。これにより、デベロッパーは大規模な IoT 端末を構築および維持できます。今年の CES で、Google は Lenovo、Harman、LG、JBL、iHome が Android Things を使ったアシスタント対応製品を開発していることを発表しました。100,000 件を超える SDK ダウンロードによるデベロッパー プレビューと 10,000 件を超えるデベロッパーからのフィードバックを経て、Google は今週 Android Things 1.0 を発表しました。4 つの新しいシステム オン モジュール(SoM)がプラットフォーム上でサポートされ、3 年間の長期サポートが保証されます。また、延長サポートの追加オプションもあり、試作品から本生産への移行も容易です。製品開発をシームレスにするために、付属する Android Things Console も製品生産に対応します。これにより、デベロッパーはデバイスの管理と更新が容易になり、Google が提供する最新の安定性修正やセキュリティ アップデートを適用できます。

Android Things を使用するには、デベロッパー サイトと新しいコミュニティ ハブにアクセスして、キット、サンプルコード、コミュニティ プロジェクトをチェックしてください。また、Google's IoT Developers Community に参加して、常に最新の情報をご確認ください。Google は、Android Things チームのパートナーに対してテクニカル ガイダンスの限定プログラムを導入し、製品の開発をサポートしています。関心がある方は、OEM パートナー プログラムにご登録ください。

Google は、これらの新しい開発だけでなく、140 以上の国で、Women Techmakers や Google Developer Groups(GDGs)などのプログラムを通じて、デベロッパー コミュニティを育み、拡大しています。Google Developers Certification(Google Developers 認定)などのトレーニング プログラムに投資し、Udacity やその他のパートナーを通じてさまざまなコースを構築しています。これにより、デベロッパーは技術的な能力をさらに深めることができます。現在、15 か国 50 社から参加した 225 人の Google Developers Agency Program メンバーが、Android 認定を取得しています。Google Developers Experts プログラムの一環として、現在 Google は全世界に 90 人を超える Android Developer Experts を擁し、デベロッパー、スタートアップおよび企業に対して革新的なアプリの開発とリリースを積極的にサポートしています。

また、上位のアプリやゲームのデベロッパーの優れた功績を継続して表彰しています。今年で 3 回目となる年次の Google Play Awards を開催しました。候補者は、Android で可能な最高のエクスペリエンスを体現し、全体的な品質、アピール力のあるデザイン、技術的なパフォーマンス、革新を実現しています。受賞者と候補者をご確認ください。

Google I/O 期間中は、48 の Android と Play のブレークアウト セッションが参加者と視聴者に用意され、これらについて深く学べる機会が提供されました。素晴らしいフィードバックに感謝いたします。今後 Google が向かう先について、引き続きフィードバックをお寄せください。

Reviewed by Takeshi Hagikura - Developer Relations Team