Google I/O 2018 Day 1
5 月上旬に行われた Google I/O 2018 に参加してきた。 この記事は Google I/O 2018 の 1 日目の記事である。
今回の Google I/O の自分の方針としては
後で社内で発表するので、まとめやすいセッションを中心に聞いておこう考えてたが、 実際やってみると codelabs が結構良くて観るつもりだったセッションもいくつかスルーしてしまった。 まあ youtube で見られるとわかっていたので、ここでしかできないような体験の方をやっておいてよかったと思う。
次回行く機会があったらもっと codelabs とか Office hour とか参加するようにしたい。 また今作っているサービスのステッカーとかも持ってきたので少しでもいいから配っておくのが小目標。 エンジニアはそういうの主張してなんぼのもんだとようやく最近思うようになってきた。無論自分には苦手なことではあるが…
2016 年と比較になるが、 待機列、給水、などなど非常に運営が非常に改善されていてしんどいイベントにならなくて本当に良かった。
キーノート
残念なことに前日の疲れと目覚ましの設定ミスがあって少し寝過ごしてしまった。 ただその時点では 9 時のシャトルバス乗れるし、流石にキーノートには間に合うかと思っていたが、 実際バスに乗ってみると渋滞がひどくて結局キーノートの開始には間に合わなかった。 前日のシャトルバスから 30 分くらいでつくかと思っていたのが、結局 1 時間 30 位は掛かってしまったので 朝は早めに出たほうがいいんだろうな。
前の方の席にも座れず、結局後ろの芝生席から観ることになってしまった。 ただ天候は穏やかで、2016年の経験から恐れていたよりも気温・日光ともに強くはなく 日陰ではなかったが割と快適に観ることができた。
キーノートで特に印象に残ったのが Google Duplex。会場の反応もかなり大きかった
デベロッパーキーノート
こちらは開発者向けのキーノートで、開発者が聞いてて楽しいのはこっちの方だと思う。
Android から機械学習まで、今回の Google I/O の目玉が一通り聞ける。
Android P はまだベータのまま。 popcycle になるという予想が出ていたし、てっきり Google I/O で正式名称が発表になるかと思っていたが、ベータの発表だった。
後で調べてみると他のメーカのがベータを使えるのは結構意義があることだったらしい。 いままでは Google Pixel とかの Google 端末が対応してから他のメーカーが追随するという形だったのが、 これからは他のメーカもベータ版の時点で対応できるようになる。 ということは新しい Android への対応もしやすくなるので、Android がアップデートされるまでの期間が短くなるかも。
Android Jetpack があるので、今回の Google I/O でまた Android の開発環境が結構変わるんじゃないかと思う。
あと Kotlin も昨年の Google I/O で公式に Android 開発の言語になってから、 けっこう浸透してきたようで、 発表された限りではすでにアプリの 35 % を Kotlin が占めているらしい。
セッションで使われるサンプルコードも Kotlin がほとんどだった。
Android Bundle も結構重要そうで、今後の Android 開発ではモジュール化を考えるもの求められてきそう。
Matrial Design も Material Theming に更新されたし、本当に変化が大きい業界だなとおもったり。
What's New In Android
Android API の新機能を紹介するセッションであり、今後のセッションの紹介をするセッションでもある。 ブログにまとめるときにちょっと見なおしてみたが、やっぱり量が多い。
紹介されていたのは:
- Android app bundles
- Android Jetpack
- Jetpack Architecture 関連の変更
- Lifecycle, Room,
- Core platform
- battery
- app standby buckets
- background restrictions
- Background input & privacy
- バックグラウンドジョブのセキュリティ改善
- Kotlin
- Mockito
- 発音は「モヒート」と同じ感じ
- Mockable Framework
- Activity などシステムオブジェクトのモックも可能に
- Background Text Mesurement
- テキスト長計測の改善
- Magnifier
- テキスト選択の改善
- API も提供
- Baseline Distance
- フォントベースラインの設定が柔軟になった
- Smart Linkify
- Linkify より賢い
- テキストを解析して単語からリンクを生成する機能
- Location
- 室内の位置取得のための WiFi Round-Trip-Time APIs
- Accesibility
- ナビゲーション周りの変更
- Security
- 指紋認証あたりの変更
- Enterpise 向け機能
- noch
- slices
- Android actions
- Google Assistant 向けの改善
- Deep links int o your app
- a visible Intent, shourtcuts with parameters
- Notification
- Deprecation Policy
- 2018 夏から API 26 が必要になる
- Native Componens -> 64 bit 対応が必要になる
- App Compatibility
- NDK
- Camera
- ImageDecoder
- Media
- HDR VP9 のビルトインサポート
- HEIF のサポート
- Vulkan
- Vulkan 1.1
- Neural Networks API
- API 1.1
- ARCore
- AR 用のエミュレータ
- ChromeOS
- Android Studio が動く
What's New in Firebase
Firebase の現状と新機能を発表するセッション。
大きい発表としては ML Kit がある。 ML Kit は現在 5 つの基本 API と、カスタムモデルに対応している。 認証周りも更新があり、電話番号での認証とパスワードレスログイン対応が追加された。
What's New in Android Developer Tool
Android Studio の改良色々。
ビルド時間など性能面が改善された他、機能的には Navigation といった Jetpack の新機能や Android App Bundle に対応し、プロファイラも改善された。 プロファイラはCPU, メモリ, ネットワークのよくみる指標に加え、消費電力のプロファイルが取れるようになった。
The future of app
https://www.youtube.com/watch?v=0raqVydJmNE
Android App Bundle 周りの話。 Android App Bundle によって、端末ごとに必要最低限のモジュールだけはいった apk を配布できるようになるし、一部のモジュールはオンデマンドで配布することもできる(Dynamic Feature)。
機能的には Google Play が aab 周りの世話をするようで、古い Google Play を使う場合は従来通りに全部入りの apk が配布されてくる。
また Android App Bundle は、将来的には Instant App との統合されるらしい。
Modern Android Development
https://www.youtube.com/watch?v=IrMw7MEgADk&t=241s
最近とこれからの Android 開発ツール・手法の話。最近の Android アプリはどうやって開発するといいのか、というのを知りたいときは見るといいかも。 それらが年を追うごとにどんどん変化しているのが紹介された。
今後は Single Activity にして、Activity はエントリーポイントとして利用される事になりそう。 アーキテクチャについては ViewModel + LiveData が良さそう。
After Party
お楽しみの After Party。 1 日目の After Party では Google I/O 会場全体がパーティー会場になって、さまざまな催しが行われる。