Google I/O 2021 セッション動画を見たメモ

Google I/O 2021 のいろんなセッション動画を見たメモ
（全部はまだ見れていない…）

## What's new in Android

https://youtu.be/D2cU_itNDAI


- Android 12 の変更内容が紹介されているセッション
   - Widget だったりスプラッシュだったり Blur だったり 
- Audio-coupled Haptic Playback という音楽データから振動パターンを生成する API が面白そう
- 動画ファイルで H.265 などを対応していないアプリの場合に Manifest にサポートしているのを記述すれば、サポートしていないファイルを変換してくれる機能はすごい
- このセッションはいろんな人がまとめてくれているので詳細は割愛


## What's new in Material Design

https://youtu.be/rLKtIGY2Mgc

- 具体的な実装ではなく、Material Design とは何か、Android 12 の Material Design は何が変わったのかを説明している
- スマートフォンは進化し続けており、画一的なアプローチでは個々のユーザのニーズに対応できないので Material Design も進化をし続ける
- Material Design の方向性として 3 つの指針
   - 快適 -> テクノロジーとの繋がりを保ち安心して使いたい
   - 偶像破壊 -> 変化に対応し成長していく
   - スピリット -> 自然界のスピリットをデジタル開発に吹き込みたい
- 変化の一つに、影に依存するのではなく、色やそのほかの方法で前面と背景のオブジェクトを分離させる
   ![スクリーンショット 2021-05-20 7.37.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126298/76c5bff8-e8bb-f7cd-acce-efee77ace740.png)


## Designing A11y with Material Design

https://youtu.be/nTNwZXVRGdY

- A11y(Accessibility)がなぜ大切なのか、Material Design はアクセシブルなアプローチをどう実現しているのかを解説しているセッションで、これはエンジニアだけでなくデザイナーにもみてもらいたいセッション
- システムを利用するときに障壁のせいで助けを必要とする人がいるならばそれはアクセシブルなサービスではなく、それを改善するためには全員が正しく行動することが重要
- Material Design の Target Size をどのようにして決めたのか、検証した内容や過程の説明が面白い
- 開発者はデザインシステムをコードに組み込み、プロダクト全体で標準のデザインパターンが使われるようにする責任がある


## What's new in Jetpack Compose

https://youtu.be/7Mf2175h3RQ

- このセッションでは Compose がなぜ必要か、Compose はどのように実装するのかといった基本的なことを説明しているので、Compose を使ったことがない人はこのセッションを見ることをおすすめします
- Compose 1.0 の stable が 2021/7 にリリースされる予定
- 動画内で Compose の MotionLayout を導入する作業をしているとあったので続報に期待


## Using Jetpack libraries in Compose

https://youtu.be/0z_dwBGQQWQ

- ViewModel、Hilt、Paging や Navigation などを Compose でどう使うのかを解説してくれているセッションで、Compose の設計を考えるときに参考にできる
- ViewModel を Composable のどこで持つのか、Navigation Compose はどう使うのかが説明されていてすごくわかりやすい


## Build beautiful Material Design apps with Jetpack Compose

https://youtu.be/zEeMu_odTa8

- Owl を例に Compose でどのように Material Design を適用するのかを説明しているセッションで、Compose を使ったことがない人はこのセッションを見ることをおすすめします
- アプリ内で複数の Theme を使うときや既存の Theme を Compose で使うときの解説がある


## What's new in Jetpack

https://youtu.be/xeQ9faYJktM

- Jetpack の最近リリースされたバージョンや Stable になったライブラリの紹介セッション
- デバイス内テキスト検索を提供する AppSearch や Assistant との対話可能なショートカットを提供する Google shortcut は知らなかったし、 新たに登場した Emoji２ や Macrobenchmark が紹介されている
- 詳細な実装の解説ではないが、Jetpack ライブラリの種類の多さに気づくセッション


## State of Kotlin on Android

https://youtu.be/etLUpHvhNZw

- Android における Kotlin 対応についてのセッション
- Kotlin 1.5 で IDE のパフォーマンス改善を行い、Kotlin コンパイラの改善も引き続き進めている
- Coroutines Debugger を intelliJ Idea から Android Studio にも導入予定

![スクリーンショット 2021-05-19 11.59.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126298/78041bae-093c-6ea4-b262-6cf6cfc78a9d.png)

- KTX ライブラリや Paging や DataStore のような Kotlin First なライブラリが出ている
- Java 開発者を忘れるわけではなく、Android Platform API は Java のまま
- Android Gradle Plugin 7.0 と Android 12 で Java の新しい言語機能をサポートし、古いデバイスには desugaring で利用できるようにする予定
- Android 12 以降では ART がアップデート可能なモジュールになって、OS の更新を待たなくても言語機能をアップデートできるようになるらしく、すごい


## Refreshing widgets

https://youtu.be/cHv84zXZf6E

- Widget についての説明や、Android 12 でどう変わるのか説明しているセッション
- 個人的に Widget のプレビューで画像を用意ではなくプレビュー用のレイアウトを用意するだけで良くなったのが最高のアップデート
- 既存の Widget は Android 12 で自動で角丸のマスキングが施される
- 2021 年内に Compose で Widget を実装するライブラリが登場予定で、これは待ち遠しい
- ref : https://developer.android.com/about/versions/12/features/widgets

## Top 12 tips to get ready for Android 12

https://youtu.be/IgeuXF60Ins

- Android 12 で既存アプリに影響を与える箇所を説明しているセッションで、targetSDK をあげる前にこのセッションとドキュメントを読んでおきたい
- アプリの休止状態の挙動が変わる、Permission が取り消されるだけでなく、キャッシュが削除されたり　Job と Push が停止する
- WebView のベースとなる Chromium の Cookie 処理に変更が入っているので、WebView 周りは確認されたしとのこと
- ref : https://developer.android.com/about/versions/12/summary

## What's new in foldables, tablets, and large screens

https://youtu.be/Qkiz3QIPJzk

- Foldable やタブレットなど大画面へどうやって対応するのか、なぜ対応するのかを説明しているセッション
- `WindowManager` と ConstraintLayout 2.1 の `ReactiveGuide` でヒンジでレイアウトを分けることができるようで試してみたい
- ref : https://developer.android.com/training/constraint-layout/foldables


## What's new in Android development tools

https://youtu.be/WRNWzhrl6-s

- Android Studio Arctic Fox の新機能紹介や Compose のプレビュー機能が紹介されているセッション
- Foldable や Wear や Android TV のエミュレータでエミュレートできることが増えてきていて便利になってきている


## Now is the time: What's new with Wear

https://youtu.be/kYIb9g1r4lw

- Wear OS で何が変わったのかや、開発者向けの情報が解説されているセッション
- Jetpack にも Wear OS 用のライブラリが追加されている
- 新たに登場した Health Services の API が良さそうで、センサー類の情報を計算された状態でこの API を介してアプリ側から使えるようになるので、アプリ間でのデータの一貫性が保てる
    - ref : https://developer.android.com/training/wearables/health-services
- ref : https://developer.android.com/training/wearables