メインコンテンツへスキップ

#AskAndroid at Android Dev Summit 2019 - Jetpack Composeの内容をざっくりメモした

目次

全部の内容は記載できていないです。もし間違いなどがありましたらご指摘いただけたら嬉しいです。

動画は下記です:

www.youtube.com

Q. いつalphaかbetaになるか?
#

来年Betaになる

Q. RecyclerViewのようなRecycling Logicなどはあるか?(静的なViewのみの利用を想定しているか?)
#

静的なViewというよりは動的なViewのために用意している。現状のPreviewにはRecycling Logicはないが、いずれくる予定。

Q. アプリを作成する上で、XMLではなくJetpack Composeのみの利用も想定しているか?
#

  • 0からアプリを作る段階でJetpack Composeを利用できる

  • 既存のXMLをCompose関数内部で利用したりその逆の方法などについても紹介している

  • 既存のコードと互換性のある形にしたいと考えている

参考:

www.youtube.com

Q. Jetpack Composeのパフォーマンスについて?
#

  • 現在はExperimental Compilerに頼り切っている状態

  • 現在は、アプリがかくついたりすることもある(現在は小さなことにもallocationなどをしていたりしている)

  • 既存のサンプルアプリはいい感じになっているはず

  • 今後よくなっていくはず

Q. LiveDataやDatabindingを使うよりもより良い・きれいな選択肢か?
#

  • LiveDataにかんしてはComposeを利用できる

  • Databinding似関してはアプローチが違う

    • DatabindingはViewを用いる

    • Composeは自動で再構成される

Q. 今後のXMLなどの既存コードからの置き換えについて?
#

  • 今の開発者たちはandroid.widgetにたいして親しみがある

  • 既存とはまったく違うやり方のものがある

    • 既存のシステムと1-1で対にならないものもある

      • JavaからKotlinへの変換のように簡単にはならなそう
  • 既存のViewコードの置き換えは、見た目の観点と、ロジックの観点などにおいて混合している

    • 機械翻訳のようなことが必要。取り組むには面白そうではあるが、現時点では目標としていることではない

Q. 既存のView構造に取り入れることはできるか?たとえばWebViewをComposeで表示するなど
#

  • 既存のComposeのRepositoryではComposeのWrapper上でWebViewを表示するようなことをしている

Q. 現時点でComposeを学ぶために一番適している場所?
#

Android Studio Canary 4.0が必要

Q. LinearLayoutの代わりにConstraintLayoutを用いた動的なViewの構成をサポートするか?
#

  • ConstraintLayoutはまだ

    • 将来的にはサポート予定
  • LinearLayoutについてはRowとColumnがそれにあたる

Q. フィードバックを送信するには?
#

Slack group
#

If you have questions about Jetpack Compose come ask the team in the #compose channel on https://t.co/zAYveCfK7X

Stackoverflow
#

https://stackoverflow.com/questions/tagged/android-jetpack-compose

Issue Tracker
#

https://issuetracker.google.com/issues?q=jetpack%20compose

Bug報告
#

https://issuetracker.google.com/issues/new?component=612128&template=1253476

フィードバックはほしい。フィードバックと共に開発をしていく

Q. 「UI構築するにはJetpack Composeのほうが良くなる」というのは正式な回答か?
#

  • 新しいUI構築のための手段

  • 新しいUI構築の手段として開発者に提案しているものの一つ

Q. 違うスクリーンサイズの対応はどのように行われる?
#

  • Jetpack Composeでは簡単に対応できるようになるはず

    • 簡潔なコードで対応可能

    • ツールが手助けしてくれる

      • プレビューで簡単に確認できる

Q. Navigation Componentは利用できるか?
#

※ここはわからなかったです。(多分Fragmentのサポートは難しそう?)

  • Navigation Componentで利用できるのはFragmentだけではない

Q. ComposeとApply Changesは関係あるか?
#

  • あまり関係ない

  • 開発者はスムーズに開発がしたい

    • ComposeにおいてはPreviewがある

Q. Composeを使う場合、Layoutはどこでどのように描画されているのか?またこれらの方法は変わるのか?
#

  • XMLレイアウトを互換性のある形で利用する場合

    • 既存とあまり変わらない
  • Composeのみを利用する場合

    • ランタイムに初期化
  • 完全に既存の描画方法とは別