Slide 1

Slide 1 text

Introduction to Jetpack Compose #AndroidTechTalks Karan Sharma

Slide 2

Slide 2 text

Today we’ll explore .. Composable Functions Compose Layouts Compose UI Themes and Styling Flutter v/s Compose

Slide 3

Slide 3 text

Why should we use Jetpack Compose ? # Less Code, less bugs # Declarative UI Approach, No XML # Compatible with Android Views # Material Design, Dark Theme, Animations # Unidirectional Data Flow

Slide 4

Slide 4 text

Unidirectional Data Flow ● Decoupling State from UI ● Single source of Truth - State

Slide 5

Slide 5 text

Composable Functions • @Composable annotation • Do not return anything. • Can execute in any order • Can execute in parallel. • They have memory

Slide 6

Slide 6 text

Setup https://developer.android.com/jetpack/compose/setup 1.4 minSDKVersion 21 4.2

Slide 7

Slide 7 text

Some more.. Setup

Slide 8

Slide 8 text

Output Recomposition ● Composables are called repetitively ● Recompose when State changes ● Skips recomposition when no state change

Slide 9

Slide 9 text

Jetpack Compose # Declarative UI Toolkit Screen EditText Form EditText Button Search Bar Icon EditText Login Email Password

Slide 10

Slide 10 text

Output Modifiers (Decorate)

Slide 11

Slide 11 text

Layouts

Slide 12

Slide 12 text

Themes Let’s style our app !

Slide 13

Slide 13 text

Themes

Slide 14

Slide 14 text

Themes (Colors) Colors.kt Theme.kt

Slide 15

Slide 15 text

Themes (Colors) Theme.kt

Slide 16

Slide 16 text

Themes (Typography) Theme.kt

Slide 17

Slide 17 text

(Typography) add different fonts add fonts to your Theme Themes

Slide 18

Slide 18 text

Let’s Compose !

Slide 19

Slide 19 text

Flutter v/s Compose # Production Ready #Declarative UI # Widgets # Composables # Hot Reload # Hot UI # Instant Run # Preview Compose for Web Compose for Desktop

Slide 20

Slide 20 text

• https://developer.android.com/courses/pathways/compose • https://developer.android.com/jetpack/compose • https://developer.android.com/jetpack/compose/setup • https://jetpackcompose.app/ • https://www.jetbrains.com/lp/compose-desktop/ • https://compose-web.ui.pages.jetbrains.team/ • https://google.github.io/accompanist/ References

Slide 21

Slide 21 text

Thank You !