Google I/O 2017 Keynote Android開発まとめ
|2017年5月17日(現地時刻)に開催されたGoogle I/OのKeynoteからAndroid関係のトピックを速報でお届けします。
Google KeynoteとDeveloper Keynoteの2部構成でしたが、Androidについては次のトピックが大きく取り上げられています。
- Android O Previewのリリース(OTA配信)
- Android Go(Android Oneを推進してローエンド端末でも快適に使得る取り組み)
- Kotlinの公式サポート
- Android Studio 3.0のリリース
- サポートライブラリ Architecture Componentsのリリース
- InstantAppsの公開
それではGoogle Keynoteから時系列にそって紹介します。
Androidのアクティブ利用端末数が20億を突破
Androidの利用者数は20億デバイス(アクティブ端末数)を超えました。これまでは普及率を押し上げるため、Mobile Firstというスローガンが掲げられてましたが、Google I/OではAI Firstにシフトしていくことが発表されました。
これは普及したモバイルデバイス(AndroidやiPhoneなどプラットフォームを問わない)をどのように活用していくかというステージに進んだことを示しています。AI Firstの一例としてGoogleアシスタントやGoogle HomeでのAI利用シーンについて紹介がありました。
画像を理解するGoogle Lens
Google Lensはカメラアプリの進化系といえます。撮影時に花の種類を教えてくれたり、店の写真をとれば評判や予約、情報をサジェストしてくれるAIを活用したプロダクトです。このような形でモバイルデバイスの新しい利用シーンを作り出していく考えがAI Firstといえるでしょう。
- https://google.ai/ GoogleによるAIへの取り組みはこちら
Android O Preview
AndroidではAndroid O Previewのβ配信が発表されました。Google純正端末(Nexus 5Xや6P、Pixel)は以下のURLよりβテストに参加することでAndroid OのOTAが受けられます。
またAndroid StudioのProfiler強化などパフォーマンス改善にむけた取り組みも紹介がありました。Android N以降、よりよいユーザ体験のための改善が目立ちますがAndroid Oでもこの流れは維持されています。
テキストの内容を理解してActionを選択できる(たとえば住所を選択したらMapsへのショートカットが表示される)Smart Text Selectionや、未読のノーティフィケーションがあったらアプリアイコンにドットを表示するNotification Dots(アプリアイコンを長押することで通知内容にアクセスできるショートカット機能)などAndroid Oの新機能も紹介されました。これらはPreview 1では未提供でした。Google I/Oが初出となる新機能です。
マルチディスプレイの強化にも触れ、Picture-in-Pictureの利用シーンについてビデオチャット中のカレンダー確認やYouTubeの視聴中のブラウジングなどながら作業の利点があると解説していました。PinP表示したアプリはスワイプで好きなところに移動できます。操作や利便性の面でユーザーメリットが大きな機能です。
TensorFlow Liteがモバイルに搭載
Androidに最適化されたTensorFlowLiteが発表されました。TensorFlow Liteでは専用のDSPを使い、モバイル端末にも機械学習機能をAdd-onします。専用のハードウェアが必要な点からみるとフラッグシップ機で搭載されるものと予想されます。詳細は不明ですがAIをより身近にしていく姿勢の現れといえるでしょう。
Kotlinの公式サポート
Android Studio、アプリ開発環境においてKotlinのサポートが発表されました。Androidに新しいプログラミング言語が増えるのは初めてのことです。まずはAndroid Studioのプラグインが不要になるなど小さな改善から始まるでしょうが、公式にサポートを宣言したことは導入に向けて大きなはずみです。
低速ネットワークでも快適に動作するAndroid Go
Android Goは低メモリ、低速なネットワークでも快適に動作するAndroidの取り組みです。Android Oといった最新OSのプラファイラ(サブセット)という位置づけです。
Android Oneの取り組みをより推し進めており、低メモリへの最適化のほか
Google ChromeやYouTubeといったアプリでも通信量を抑えるDataSaverに対応しています。たとえばYouTubeではオフラインで動画をシェアするOffline Sharing機能などが増えています。主に発展途上国など新興国にむけたアプリも含めた全体最適化の取り組みです。
Did you sneak a peek at #AndroidGo? A new experience is coming to entry-level #Android devices. #io17 pic.twitter.com/A9XogCuZyJ
— Android (@Android) May 17, 2017
Developer Keynoteも速報を予定しています。続報をお待ち下さい。
Developer Keynote
今年のGoogle I/OではGoogleテクノロジをフィーチャーするGoogle Keynoteと開発者向けの情報を集めたDeveloper Keynoteの2部構成になっています。Developer KeynoteのなかからAndroid開発者むけの情報を解説します。
AndroidのほかにもAction on Google、TensorFlow(AI)、Progressive Web Applicationなど最新のWebテクノロジ、GCP、Firebaseがテーマに挙げられています。
Android Studio 3.0の登場
Android Studioを中心とした開発環境について4つの大きなアップデートがありました。
- Kotlinの公式サポート(Keynoteではファーストクラスランゲージと表現)
- Android Studio 3.0での新機能
- アプリケーションを成功に導くための環境整備
- インストール不要でアプリを試せるAndroid Instant Appsが本日から提供開始
特に大きな話題はKotlinのサポートです。AndroidではJavaが長らくの間ファーストクラスランゲージの地位を独占していましたが、実行環境の制限からJava 8の完全なサポートは難しい状況でした(特にJava8のStream APIなどはまだ使えていません)。このような制限がある中からBetter JavaとしてKotlinが公式にサポートされることが発表されました。
特に実行時においては完全な互換があることがKotlinの特徴です。既存の環境に影響をあたえることなく、置き換え可能です(すでにプロダクションで利用されていることも強みのひとつです)。
もうひとつのファーストクラスランゲージであるJavaについてもサポートはこれまで通り継続されます。後述の新プロファイラ(アプリのパフォーマンス解析)はJavaのみをサポートしているなどJavaにも一日の長があります。しばらくは開発するアプリ、開発者のスキルに応じて使い分けていくことになるでしょう(選択肢があることはとてもいいことだと筆者は考えています)。
Kotlinのライブコーディングデモ
新しいAndroid Studio 3.0を使ってKotlinのライブコーディングが行われました。
ライブコーディングではJavaをKotlinで書き換えるとコード量の削減につながることが示されたほか、JavaのソースコードをKotlinのエディタにコピー&ペーストするとIDEが自動的にKotlinコードに変換して貼り付けられる様子など紹介されました。
会場からは驚きの歓声が上がりました。これは純粋な驚きでもありますが個人的にはGoogleのKotlinへのコミットメントが感じられたデモです。
新プロファイラの紹介
Android Studio 3.0からはプロファイラが新しく置き換えられ、パフォーマンス解析がやりやすくなります。
このプロファイラを使うとアプリを動かしながら負荷が高いシーンへコードジャンプできたり、メモリやCPU使用量を可視化して、わかりやすく改善点を探したりできます。アプリの高度化、複雑化が進むなかでは開発者の強力な武器となる機能追加です。
Support LibraryにArchitecture Componentsが追加
Support Libraryにアーキテクチャコンポーネントが追加されます。ViewModelやDataStorage、Lifecycle Managementの3領域を対象としたサポートライブラリです。
Architecture ComponentはまだPreviewでの提供ですが次のURLですぐに提供が開始されるとのことでした(執筆時点では404でアクセスできていません。準備ができ次第公開するものと思われます)。
Android Studio 3.0 Canary 1
Instant Appsが本日から利用解禁
インストールしなくてもアプリを試せるInstant Appsが本日、リリースされました。
Instant Appsでは通常のアプリ開発とは異なり、モジュラー化という考え方が推奨されています。これは機能ごとにモジュールという単位に分割し、アプリケーションの分割統治を推進するものです。部分的にアプリを試せ、InstantAppsを実現するための重要な考え方です。詳細は公式サイトをご確認ください。
以上、キーノートからAndroid関連を抜粋してお届けしました。おつかれさまでした。
※続報があれば随時更新していきます!