Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jetpack Composeのイマ,プロダクション導入への道

Jetpack Composeのイマ,プロダクション導入への道

Jetpack ComposeはAndroid向けの新しいUIツールキットです。Android登場から初めてとなる大規模フレームワーク刷新で,完全に1から再設計がなされました。2019年のGoogle I/Oにて発表され,2021年7月にStableになっています。

Jetpack Composeでは他プラットフォームで標準化されてきている宣言的UIモデルが採用され,またパフォーマンス面等の複数の課題が改善されました。
Stableリリースがされた後も盛んに開発が行われており,破壊的変更等への不安はありますが,導入にはそれ以上のメリットがあると考えています。

私の所属するOPENREC.tvは7年以上に渡って開発が続けられている動画プラットフォームです。比較的歴史の長いアプリケーションですが,積極的にJetpack Composeの導入を行ってきました。

このセッションでは,導入に至ったモチベーションや,既存プロダクトへの組み込み方法,また導入過程で発生した課題とその解決方法について紹介します。

CyberAgent

July 08, 2022
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. ύϑΥʔϚϯεͷվળ ϨΠΞ΢ταΠζͷܭଌํ๏Λ࡮৽ Android View Jetpack Compose ViewGroup View1 View2 ᶃ

    measure() ᶄ measure() ᶅ measure() ᶆmeasure() ᶇ measure() ਌ࢠΛԿ౓΋ܭଌ͢Δ৔߹͕͋Δ ਌Composable ࢠComposable ࢠComposable ᶃ measure() ᶄ measure() ᶅ measure() ඞͣҰ౓ͷΈ͔͠ܭଌ͞Εͳ͍
  2. ϥΠϒϥϦͰͷఏڙ • OSͷߋ৽ʹӨڹ͠ͳ͍ʢAndroid 5͔Βར༻Մೳʣ • ߋ৽ͷԸܙΛ͙͢ʹಘΒΕΔ ϝϦοτ σϝϦοτ • ΞϓϦͷαΠζ͕ංେԽ͢ΔՄೳੑ͕͋Δ


    → ViewͷϥΠϒϥϦΛ࢖Θͳ͚Ε͹খ͘͞ͳΔ(※1) • ىಈ͕஗͘ͳΔ
 → ϕʔεϥΠϯ ϓϩϑΝΠϧͰվળ͢Δ͔΋(※2) ※1ɿhttps://developer.android.com/jetpack/compose/ergonomics?hl=ja#apk-size ※2 : https://android-developers-jp.googleblog.com/2022/03/improving-app-performance-with-baseline.html
  3. ϓϩμΫγϣϯಋೖͷલʹ OPENREC.tvͰͷϑϩʔ ௐࠪͱݕূΛ͢Δ 2021೥5݄ Jetpack Composeθϛͷ։࢝ / ৘ใऩूͱ৘ใڞ༗ 2021೥4݄ σόοά༻πʔϧʢUI

    CatalogʣͰͷࢼݧӡ༻։࢝ 2021೥12݄ ؆୯ͳϦετը໘ΛҠߦɼຊ൪ಋೖ 2022೥2݄ ৽ػೳΛϑϧComposeͰϦϦʔε ݱࡏ ComposeΛੵۃར༻ / ਵ࣌Android View͔ΒҠߦ
  4. ·ͱΊ 1.Jetpack ComposeͷϝϦοτ એݴతUI / ύϑΥʔϚϯε / OSඇґଘ 2.ϓϩμΫγϣϯಋೖͷ3ͭͷํ๏ ը໘ͰҠߦ͢Δ

    / ίϯϙʔωϯτͷҠߦ / RecyclerViewͷηϧҠߦ 3.ར༻্ͷ՝୊ͱͦͷղܾํ๏ ίϯϙʔωϯτͷࠩ෼ / recomposeͷ཈੍