2023年9月14日(木)~ 9月16日(土)にかけて開催される「DroidKaigi 2023」に、株式会社AbemaTVのサウ スラジ クマル、AmebaLIFE事業部の原田伶央が登壇いたします。なお、サイバーエージェントは今年もゴールドスポンサーを務めます。
■DroidKaigi 2023
「DroidKaigi」はAndroid技術情報の共有とコミュニケーションを目的とした、エンジニアが主役のカンファレンスです。2015年より規模を拡大しながら開催をつづけ、第8回を迎える今回は、3日間にわたりオフラインとオンラインにて同時開催されます。
■登壇について
・日時
2023年9月14日(木)11:20~12:00
・セッションタイトル
Modifier.Node を使いましょう
・セッション概要
Android Dev Summit 2022で、Compose UIのパフォーマンス向上に向けたModifier.Nodeの発表がありました。発表では、まずFocus modifierのModifier.Nodeマイグレーションが始まったことが紹介されました。それ以降、Compose UIのさまざまなModifierのModifier.Nodeマイグレーションが行われています。このセッションでは以下のトピックについて説明する予定です:
- 旧Modifierの仕組みで Modifier.composed{} がパフォーマンスに与えた影響について軽く紹介
- Modifier.Node APIの紹介
- AOSPのコードを参考にしながら、既存のModifierを新しいModifier.Nodeにマイグレーション行う場合チップスなどの紹介。
・発表者
サウ スラジ クマル(suji)
2023年9月に株式会社AbemaTVに中途入社。開発局にて新しい未来のテレビ「ABEMA」のAndroidエンジニアとして従事。
--------------------------------------------------------------------------
・日時
2023年9月14日(木)16:20~17:00
・セッションタイトル
Master of NestedScroll
・セッション概要
アプリ開発において一つのスクリーン上に多くのコンテンツをユーザーに提供するリスト表示やスワイプによるタブの追加はかなり多く見られます。その中でもより多くのコンテンツを提供したい場合、スワイプPager内に横スクロールのコンテンツを入れ子にしたり、CoordinatorLayout内におけるRecyclerViewを配置したり、所謂ネストスクロールが起きるケースが多いでしょう。しかし、いざ実装してみると期待した挙動にならない場合があります。
Jetpack Composeではスクロール可能なコンポーネントにおいてはデフォルトでネストスクロールをサポートしています。そのため上記、前者の例だと子のスクロールをしたつもりでも親のスワイプが動作してしまうケースがあります。こうした場合NestedScrollConnectionを適切に実装することで解消することができます。しかし、ネストスクロール周りの実装は複雑でイメージしにくい側面があると思います。また、JetpackComposeとAndroidViewではネストスクロールが異なる仕様で実装されています。そのため、相互運用する場合ComposeからAndroidView側へ(その逆も然り)スクロールの差分を適切に伝播させるようにしないとユーザー体験を損ねる可能性があります。その点に関してNestedScrollConnectionやNestedScrollingParent3の内部実装を見ながら図式化をし、イメージをつけていきます。
そして、本セッションではJetpack Composeにおけるネストスクロールを主としていますが、AndroidView時代におけるNestedScrollViewやonInterceptTouchEventを用いた解決策なども振り返ります。その上でJetpack Composeと比較してどのような違いがあり、どの程度コードが簡素化されているのかについてもお話しします。
本セッションを通じて以下の状態を実現します。
・プロダクト開発でネストスクロールを実装する前に事前に注意点が分かっている状態(問題解決が想定した工数になる)
・プロダクト開発においてネストスクロールで期待しない動作が起きた時に原因究明する思考フローが身についている
・端末によって子のネストスクロールがカクついてしまう問題が解決する
目次
・実際のプロダクト開発で起こりうるネストスクロール問題について
・JetpackCompose時代における解決策
・AndroidView時代のコードと比較
・相互運用上の注意点
・※ネストスクロール周りのパフォーマンス低下を改善する
※ AndroidView時代のコードと比較や相互運用上の分量が多いので最後のパフォーマンス改善に関しては時間があればお話しします。
・発表者
原田伶央(すいみー)
2023年4月に株式会社サイバーエージェントにAndroidエンジニアとして新卒入社。
現在はAmebaLIFE事業本部にて、ブログサービス「Ameba」のAndroidエンジニアとして従事。
■スポンサーブースについて
サイバーエージェントは、「DroidKaigi 2023」において今年もゴールドスポンサーを務めます。現地会場のスポンサーブースでは「Androidエンジニアが最もストレスに感じるタイミングは?」をテーマにアンケートを実施し、回答者にはストレスにちなんだノベルティをプレゼント予定です。そのほか、Android開発におけるサイバーエージェントの強みや、プロダクトを紹介いたします。
Androidの技術領域におけるDeveloper Experts(※)の毛受崇洋や登壇者の原田伶央をはじめ、多くのエンジニアもブースでお待ちしております。ぜひ、お立ち寄りください。
※Developer Experts
当社が定める注力技術領域のうち、抜きん出た知識とスキルを持ち、その領域の第一人者として実績を上げているエンジニアに新たな活躍の場を提供するとともに、各専門領域において、その分野の発展のための貢献および、サイバーエージェントグループの技術力発展に還元することを目的とした「Developer Experts制度」を設けています。
■DroidKaigi 2023
「DroidKaigi」はAndroid技術情報の共有とコミュニケーションを目的とした、エンジニアが主役のカンファレンスです。2015年より規模を拡大しながら開催をつづけ、第8回を迎える今回は、3日間にわたりオフラインとオンラインにて同時開催されます。
■登壇について
・日時
2023年9月14日(木)11:20~12:00
・セッションタイトル
Modifier.Node を使いましょう
・セッション概要
Android Dev Summit 2022で、Compose UIのパフォーマンス向上に向けたModifier.Nodeの発表がありました。発表では、まずFocus modifierのModifier.Nodeマイグレーションが始まったことが紹介されました。それ以降、Compose UIのさまざまなModifierのModifier.Nodeマイグレーションが行われています。このセッションでは以下のトピックについて説明する予定です:
- 旧Modifierの仕組みで Modifier.composed{} がパフォーマンスに与えた影響について軽く紹介
- Modifier.Node APIの紹介
- AOSPのコードを参考にしながら、既存のModifierを新しいModifier.Nodeにマイグレーション行う場合チップスなどの紹介。
・発表者
サウ スラジ クマル(suji)
2023年9月に株式会社AbemaTVに中途入社。開発局にて新しい未来のテレビ「ABEMA」のAndroidエンジニアとして従事。
--------------------------------------------------------------------------
・日時
2023年9月14日(木)16:20~17:00
・セッションタイトル
Master of NestedScroll
・セッション概要
アプリ開発において一つのスクリーン上に多くのコンテンツをユーザーに提供するリスト表示やスワイプによるタブの追加はかなり多く見られます。その中でもより多くのコンテンツを提供したい場合、スワイプPager内に横スクロールのコンテンツを入れ子にしたり、CoordinatorLayout内におけるRecyclerViewを配置したり、所謂ネストスクロールが起きるケースが多いでしょう。しかし、いざ実装してみると期待した挙動にならない場合があります。
Jetpack Composeではスクロール可能なコンポーネントにおいてはデフォルトでネストスクロールをサポートしています。そのため上記、前者の例だと子のスクロールをしたつもりでも親のスワイプが動作してしまうケースがあります。こうした場合NestedScrollConnectionを適切に実装することで解消することができます。しかし、ネストスクロール周りの実装は複雑でイメージしにくい側面があると思います。また、JetpackComposeとAndroidViewではネストスクロールが異なる仕様で実装されています。そのため、相互運用する場合ComposeからAndroidView側へ(その逆も然り)スクロールの差分を適切に伝播させるようにしないとユーザー体験を損ねる可能性があります。その点に関してNestedScrollConnectionやNestedScrollingParent3の内部実装を見ながら図式化をし、イメージをつけていきます。
そして、本セッションではJetpack Composeにおけるネストスクロールを主としていますが、AndroidView時代におけるNestedScrollViewやonInterceptTouchEventを用いた解決策なども振り返ります。その上でJetpack Composeと比較してどのような違いがあり、どの程度コードが簡素化されているのかについてもお話しします。
本セッションを通じて以下の状態を実現します。
・プロダクト開発でネストスクロールを実装する前に事前に注意点が分かっている状態(問題解決が想定した工数になる)
・プロダクト開発においてネストスクロールで期待しない動作が起きた時に原因究明する思考フローが身についている
・端末によって子のネストスクロールがカクついてしまう問題が解決する
目次
・実際のプロダクト開発で起こりうるネストスクロール問題について
・JetpackCompose時代における解決策
・AndroidView時代のコードと比較
・相互運用上の注意点
・※ネストスクロール周りのパフォーマンス低下を改善する
※ AndroidView時代のコードと比較や相互運用上の分量が多いので最後のパフォーマンス改善に関しては時間があればお話しします。
・発表者
原田伶央(すいみー)
2023年4月に株式会社サイバーエージェントにAndroidエンジニアとして新卒入社。
現在はAmebaLIFE事業本部にて、ブログサービス「Ameba」のAndroidエンジニアとして従事。
■スポンサーブースについて
サイバーエージェントは、「DroidKaigi 2023」において今年もゴールドスポンサーを務めます。現地会場のスポンサーブースでは「Androidエンジニアが最もストレスに感じるタイミングは?」をテーマにアンケートを実施し、回答者にはストレスにちなんだノベルティをプレゼント予定です。そのほか、Android開発におけるサイバーエージェントの強みや、プロダクトを紹介いたします。
Androidの技術領域におけるDeveloper Experts(※)の毛受崇洋や登壇者の原田伶央をはじめ、多くのエンジニアもブースでお待ちしております。ぜひ、お立ち寄りください。
※Developer Experts
当社が定める注力技術領域のうち、抜きん出た知識とスキルを持ち、その領域の第一人者として実績を上げているエンジニアに新たな活躍の場を提供するとともに、各専門領域において、その分野の発展のための貢献および、サイバーエージェントグループの技術力発展に還元することを目的とした「Developer Experts制度」を設けています。