KEMBAR78
Try Jetpack Compose | PDF
Jetpack Compose
#KotlinEverywhere	Android	Development
Lutas Lin
What is Jetpack Compose?
• Is a Kotlin Compiler Plugin

• Is a new UI Toolkit

• Declarative UI

• Unbundle from OS

• Pre-Alpha
Declarative UI
Flutter Swift UI
Compose Hello World
@Composable
fun Hello() {
MaterialTheme {
Text(text = "Hello")
}
}
UI as Function
• View / Xml -> UI as Object

• Compose -> UI as Function
UI = f(s)
UI = f(s)
Composable	function
State
How to use Jetpack
Compose?
• https://adambennett.dev/2019/10/jetpack-compose-now-on-maven/

• Android Studio Version >= 3.5.1

// Use Jvm 1.8
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
// Kotlin Reflect
implementation “org.jetbrains.kotlin:kotlin-reflect"
// Compose
kapt "androidx.compose:compose-compiler:0.1.0-dev01"
implementation "androidx.compose:compose-runtime:0.1.0-dev02"
// Compose UI
implementation "androidx.ui:ui-core:0.1.0-dev02"
implementation "androidx.ui:ui-layout:0.1.0-dev02"
implementation "androidx.ui:ui-material:0.1.0-dev01"
But…Something Broken?
• @Model observing失效了了!!!

Compose requires:
• An unreleased version of the Android Gradle Plugin

• An unreleased version of Android Studio

• An unreleased EAP version of Kotlin
• Build via AOSP

• https://engineering.q42.nl/try-jetpack-compose-today/
Sample
State
• https://youtu.be/VsStyq4Lzxo?t=1541
What Next?
• Kotlin/Compose vs Dart/Flutter ?

• What’s new in Jetpack Compose (https://
developer.android.com/dev-summit/schedule/day1)

Try Jetpack Compose