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

Jetpack Compose

Jetpack Compose

19/05/17
Shibuya.apk #34 - Report from Google I/O 2019

HiroYUKI Seto

May 17, 2019
Tweet

More Decks by HiroYUKI Seto

Other Decks in Programming

Transcript

  1. +FUQBDL$PNQPTF
    גࣜձࣾϊϋφɹ੉ށ༏೭

    View Slide

  2. ੉ށ༏೭[email protected]
    גࣜձࣾϊϋφ
    ΞϓϦΤϯδχΞ

    View Slide

  3. View Slide

  4. *FOKPZFE*0

    View Slide

  5. 8IBU`T+FUQBDL$PNQPTF

    View Slide

  6. ⚠&YQFSJNFOUBM"1*⚠
    OPUSFBEZGPSQSPEVDUJPOVTF

    View Slide

  7. 8IBU`T+FUQBDL$PNQPTF
    w +FUQBDLϥΠϒϥϦͷͻͱͭͱͯ͠ఏڙ͞ΕΔ
    w એݴత6*ߏங
    w "OLP΍'MVUUFSͱࣅͨهड़
    w YNMͰͷMBZPVUͷ୅ସ
    w طଘͷ7JFXͷ୅ସ
    w ޓ׵ੑΛ࣋ͨͤΔ͜ͱ͕Ͱ͖Δ

    View Slide

  8. 8IZ+FUQBDL$PNQPTF

    View Slide

  9. 6OCVOEMFUIF6*5PPMLJU
    w $IFU)BBTFTBZTl"1*EFTJHOJTCVJMEJOHGVUVSFSFHSFUz
    w 7JFXKBWB͸ສߦऑ
    w #VUUPOFYUFOET5FYU7JFX
    w ճస͠ͳ͍4QJOOFS
    w 7JFXΛ+FUQBDLԽ͍ͨ͠
    w 04ΞοϓσʔτΛ଴ͭ͜ͱͳ͘όάΛमਖ਼Ͱ͖Δ

    View Slide

  10. +FUQBDL$PNQPTFݪଇ
    w ,PUMJOͰ؆ܿʴࣗવʹॻ͚Δ
    w એݴత
    w ޓ׵ੑ͕͋Δ
    w ඒ͍͠ΞϓϦΛ࡞ΕΔ
    w ։ൃΛՃ଎͢Δ
    [email protected]

    View Slide

  11. )PXUPVTF

    View Slide

  12. )PXUPVTF
    w IUUQTBOESPJEHPPHMFTPVSDFDPNQMBUGPSNGSBNFXPSLT
    TVQQPSUBOESPJEYNBTUFSEFWVJ3&"%.&NEHFUUJOH
    TUBSUFE
    w ϥΠϒϥϦԽ͞Ε͍ͯͳ͍
    w BOESPJE9ͷ։ൃ؀ڥߏங͕ඞཁ

    View Slide

  13. )PXUPVTF
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    setContent {

    Text("hello")

    }

    }
    ˞setContent͸"DUJWJUZͷ֦ுؔ਺

    View Slide

  14. )PXUPVTF
    @Composable
    fun Greeting(name: String) {
    Text(name)
    }

    View Slide

  15. )PXUPVTF
    @Composable
    @GenerateView
    fun Greeting(name: String) {
    Text(name)
    }

    View Slide

  16. !(FOFSBUF7JFX
    w YNMͰఆٛͰ͖Δ

    w findViewById(R.id.greeting)

    View Slide

  17. )PXUPVTF
    @Composable
    fun RallyBody() {
    Padding(padding = 16.dp) {
    Column {
    // TODO: scrolling container
    RallyAlertCard()
    HeightSpacer(height = 10.dp)
    RallyAccountsCard()
    HeightSpacer(height = 10.dp)
    RallyBillsCard()
    }
    }
    }

    View Slide

  18. ·ͱΊ

    View Slide

  19. ·ͱΊ
    w ⚠&YQFSJNFOUBM⚠
    w એݴత6*ߏங
    w طଘͷ7JFXΛஔ͖׵͑Δ΋ͷ
    w BOOPUBUJPOͰޓ׵ੑ͕อͯΔ
    w ઈࢍҙݟืूத

    View Slide

  20. ࢀߟϦϯΫ
    w +FUQBDL$PNQPTF

    IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTF
    w +FUQBDL$PNQPTF3&"%.&NE

    IUUQTBOESPJEHPPHMFTPVSDFDPNQMBUGPSNGSBNFXPSLT
    TVQQPSUBOESPJEYNBTUFSEFWVJ3&"%.&NE
    w %FDMBSBUJWF6*1BUUFSOT (PPHMF*0`

    IUUQTZPVUVCF7T4UZR-[YP

    View Slide

  21. View Slide