毎年開催されるGoogle I/Oですが、今年もグーグルはアシスタント領域からおもしろそうなデバイスやアプリの展開まで、たくさんの発表しました。開発者向けの詳細やAPIの発表もあったので、SitePointでは最新の情報をお伝えします。さらに知りたい人はGoogle I/Oの公式ブログを参照してください。
SitePointでは開発者がAndroid Nに期待していることも記事にしており、新しい発表とともに更新しています。
私のお気に入りのユーザーにフォーカスしたAndroid Nの特徴はシームレスなアップデート(ChromeOSから取り入れたもの)、 実行時コンパイラ(just-in-time compilation:「Android is Updating」とはお別れ)です。
この記事では、発表を受けていま何ができるのか、そしてどのように取り掛かるかを説明しましょう。
たくさんの内容があります。Androidの世界に飛び込んでみてください。
1. Android Studio 2.2
私はAndroid Studioが大好きなのですが、新バージョンではAndroid開発者向けに改良された新しい機能がたくさんあります。すべての新しいSDKをダウンロードすると、ようやくAndroid Studioのバックグラウンドでダウンロードができるようになったと気づくでしょう。
スピード
最近のAndroid Studioのリリースで、Instant Runが改善され、バージョン2.2では10倍以上良くなったとされています。エミュレーターも速くなり、現在は実際のデバイスよりも性能が上がったと言われています。
テストレコーダー
これは素晴らしい機能です。デバッグモードでアプリを実行、Espressoテストを自動的にUIイベントに書き込み、ローカルやリモートテストで運用できます。
この動作のデモを記録できたらと思っていましたが、ダウンロードプレビューではオプションがありませんでした。これにはがっかりしましたが、もしかしたら見落としているかもしれません。
より良い構築
アプリの可能性はどんどん広がっていて、現在Android StudioはCMakeやNDK-Buildツール、Java 8のサポートを始めました。同時に、C++でのコーディングがこれまで以上NDKライブラリーを要求しなくなり、C++とJavaコードがコラボすることで性能が向上しました。CLion IDEとJetBrainsの機能のおかげです。Gradleに行きづまっている場合、新しくFile -> Project Structureメニューアイテム(選択の際、Experimental表示領域での有効設定が必要)で期限切れの依存オブジェクトをアラートし、アップデートとインストール、Gradleファイルへの書き込みができます。
新規のMやNモデルへのアプリ権限を移行するのに手こずっている人は、旧権限をハイライトし、Refactor -> Convert to Android System Permissionsというメニューアイテムを選択するとうまくいきます。
レイアウト
インターフェイスデザイン用のAndroid Studioツールは依然としてXCode搭載のものより遅れを取っています。バージョン2.2で改良した点として、ドラッグ&ドロップのレイアウト(特にメニュー)改善やアレンジを試せる新しいブループリントモード、マルチデバイス(たとえばiOSのAutoLayout)間のインターフェイスデザインレイアウト制限、新しいコンポーネントインスペクタがあり、計算実行時間の詳細も表示します。
コード改良
Android Studioはコーディングしやすくするために改善されており、バージョン2.2ではAPIバージョンの確認やスレッドのハンドリング向けなどに新しい注釈が追記されました。サンプルブラウザーを付け足し、特定のシンボルメソッドに対してのコードの例を見つけやすくしています。またAPKアナライザーを供給し、メモリーの問題を追跡したり、最終コンパイルアプリのファイルサイズを減らすアドバイスをしたくれたりします。アナライザーは、Build -> Analyze APKメニューアイテムにあります。
APK内のInstant Runの特徴のエビデンスも参照できます。
新しく統合されたマニフェストビューでは、別のアイテムが他のソースのManifestファイルに追加されているか確認できます。たとえば、このGoogle Mapsアプリデモでは、Manifestに付け加えられたエントリーをPlayサービスやFirebaseから見られます。
2. Instant Apps
Google I/Oで発表された中で、もっとも世界を興奮させ、困惑させ、開発者の好奇心を刺激したのは、Androidユーザーがいずれインストールしなくてもアプリを開けるようになることでした。関連アプリのリンクをユーザーがクリックすると、Playストアは動作に必要なアプリのコードの一部をダウンロードします。これによってAndoroidのActivityコンセプトが使用でき、KitKatにさかのぼるAndroidのバージョンまで動作します。とても興味深く、どうやってインストールやユーザーが設定した個々のデータ制限に影響をおよぼすのか知りたいものです。
3. ChromeOSでPlayする
現在使用されている何億ものAndroidデバイスは、ユーザー基盤として十分ですよね? グーグルは2016年第1四半期にChromeベースのデバイスを200万台販売(IDC)していますが、これはAppleのMac販売数を超えており、そのプラットホームではPlayストアが使用できます。
これを実現するために、グーグルはLinux名前空間の組み合わせを使用して、AndroidとChromeOSを分離させています。しかし一方で、重要なリソースと構成は共有しています。エミュレーションや仮想化はありませんが、ChromeOS内でAndroid OSのすべてが利用できます。
たいていの機能は労力をあまりかけずにChromeOSで動作するはずですが、上手くいかないことがほとんどということを頭に入れておいてください。要するにChromeBookでは運用できないということです。
4. バーチャルリアリティー「Daydream」
Cardboardはそのシンプルさを売りにして、まだ道半ばではありますが、グーグルのVirtual Reality(VR)領域への進出を成功へと導いています。しかしすべての開発者がAndroidのVRに大きく関心を持つには「何か」が必要だと気づいていました。
「Daydream」はAndroid Nの機能の1つです(「daydreamモード」と混同しないように)。Daydreamが搭載されたデバイスに供給され、ユーザー基盤を制限しているものの、グーグルは「何億もの」ユーザーがプラットホームを使えるようになると見ています。この機能を使用するには、新しいヘッドセットとコントローラーをお勧めします。現在コントローラーはコンセプトデザインのみですが、Cardboardは使用できます。
Daydreamのホームスクリーンは興味深く、革新的な没入型インターフェイスでコンテンツとメディアサービスをナビゲートしています。Netflix、Hulu、YouTube、(なぜか)The New York Timesなどのアプリを含んでいます。
現時点ではNexus 6Pが必要で、Nexus 6PがないとDaydreamの開発過程のテストができません。もしNexus 6Pを持っているのなら、セットアップインストラクションを確認してください。SDKはUnityやiOSにも利用できます。
5. Android Wear 2.0
今年中にAndroidウェアラブル拡張機能の次のバージョンの告知があり、新しい機能もたくさん紹介される予定ですが、いくつか気に入ったものを紹介しておきます。
- ウォッチフェイスはフルカスタマイズができ、ほかのアプリからのデータを表示できます。
- 奇妙なことに、OSでは手書き認識とキーボードが提供され、 IMF(Input Method Framework)を使用します。
- サポートされたデバイスのスタンドアローンモードでは、アプリはウェアラブル単体で運用でき、ペアデバイスの必要もありません。
- 公式のAndroid Wear用のMaterial Designガイドラインが参照できます。
詳細はこちらから。Wear 2.0を開発したい場合、プレビューの詳細を確認してください。
6. Android Auto
Androidデバイスの相棒として車を使うことは現実味を帯びてきています。注目を集めるほどの発表はありませんでしたが、開発者の興味を引く小さなアップデートがアナウンスされています。もしまだAndroid Autoを開発したことがない場合は、『キミの作ったアプリをクルマでも!Android Autoでスマホ開発者に新チャンス』を参照してください。
- Wazeビルトイン:この新しいマッピングデータのセットで開発者ができることはあまりありませんが、Waze APIを良く知って(さらに取り組んで)いる場合、もう1つの仕事のプラットホームになります。
- 互換性のある車は必要ありません:車のダッシュボードを電話で動くように設定するのに時間がかかったことから、今年中にアップデートは開始しますが、車でさえも今後必要なくなります。その代わり、電話をカーモードに切り替え、アクセスしやすい大きなインターフェイス(現在は音声操作)がデバイス上に完全に表示されます。
7. Firebaseの統合
グーグルは2014年にFirebaseを買収しましたが、両社の経験と製品ラインナップが双方に恩恵をもたらしており、グーグルの核となるビジネスも補完しています。FacebookがParseの閉鎖をアナウンスしたので、Firebaseがその後釜となる絶好の機会で、グーグルも熱心になっています。
改良された大部分は個々のFirebaseツールに統合し、Googleエコシステムの残りの部分とも統合されています。
このツールと改良した部分には、アプリ分析や故障レポート、メッセージフレームワーク、ユーザー増加ツールなどが含まれています。もっともよいことは、これらのツールはAndroid Studio 2.2ではデフォルトで有効となっていて、プラグインでアプリとコードを設定して簡単に使えることですます。もしくはスニペットをコードにドラッグすることもできます。
現在のグーグルサービスの便利な改良点は、FirebaseデータをBigQueryにエクスポートして分析できるようにすることと、会計処理を簡単にするために売上をグーグルのセントラルクラウド売上高プラットホームに移すことです。どちらもAdMobプラットホームでできます。将来的にこれが、Firebaseとグーグル間の通信がさらにスムーズに進むための土台になることを願っています。
8. 「N」ameをつけてください
グーグルによるとNリリースに際して名前を決めかねているようで、現在、公募しています。時代遅れの方法で、応募しても採用されないと思うかもしれませんが、無名の応募者が受賞者として発表されると思います。
Googleの挑戦
Google I/Oはとてもすばらしいイベントでした。新しい機能の発表が多く、ワクワクしましたが、もっともスリリングだったのは改良されたツールの実装とその完成度の高さ、AndroidとGoogleエコシステムの統合でした。
(原文:8 Key Announcements for Android Developers at Google IO)
[翻訳:島田理彩]
[編集:Livit]