6월 3일의 ⁠#Android11: 베타 버전 출시 행사에 참여하세요.

Compose

최근 업데이트 현재 버전
2020년 4월 29일 0.1.0-dev010

종속 항목 선언

Compose의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

dependencies {
    implementation "androidx.compose:compose-runtime:0.1.0-dev10"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerVersion "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
        kotlinCompilerExtensionVersion "0.1.0-dev10"
    }
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참조하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 만들기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 표를 추가할 수 있습니다.

새 문제 만들기

자세한 내용은 Issue Tracker 문서를 참조하세요.

버전 0.1.0-dev

버전 0.1.0-dev10

2020년 4월 29일

androidx.compose:compose-compiler:0.1.0-dev10androidx.compose:compose-runtime:0.1.0-dev10이 출시되었습니다. 버전 0.1.0-dev10에 포함된 커밋을 확인하세요.

새로운 기능

  • 최신 버전 Kotlin 컴파일러의 IR 백엔드로 기준을 다시 지정했습니다. 즉, 이전에 IR 백엔드와 호환되지 않던 여러 기능(예: 구성 불가능한 코루틴)이 이제 호환됩니다. 따라서 수수께끼 같은 '백엔드 내부 오류' 메시지가 더 적게 표시되고 IR 모듈 및 IR이 아닌 모듈로 코드를 구분하려고 애쓸 필요가 없습니다. 그러나 IR 백엔드는 여전히 실험용이고 버그도 있으므로(아주 적음) 여전히 진행 중인 작업임을 감안하면서 가볍게 시도해 보세요.

버전 0.1.0-dev09

2020년 4월 15일

androidx.compose:compose-compiler:0.1.0-dev09androidx.compose:compose-runtime:0.1.0-dev09이 출시되었습니다. 버전 0.1.0-dev09에 포함된 커밋을 확인하세요.

API 변경사항

  • [변경 가능] 주 속성 위임 연산자가 Kotlin 1.4 속성 위임 최적화를 지원하기 위해 확장 프로그램으로 이동했습니다. by state { ... } 또는 by mutableStateOf(...)를 계속 사용하려면 호출자가 가져오기를 추가해야 합니다. (I5312c 참조)

버그 수정

  • 다른 Alignment보다 세로 또는 가로 Alignment를 예측하기 위해 wrapContentWidthwrapContentHeight가 업데이트되었습니다. 세로 또는 가로 Alignment를 허용하도록 중력 수식어가 업데이트되었습니다. 맞춤 연속 Alignment를 지원하기 위해 Row, Column, Stack이 업데이트되었습니다. (Ib0728)
  • ui-text 모듈의 이름이 ui-text-core(I57dec)로 변경되었습니다.
  • 개선된 DrawModifier API((Ibaced, b/152919067)):
    • 수신기 범위를 draw() ContentDrawScope로 설정했습니다.
    • draw()의 모든 매개변수가 삭제되었습니다.
    • DrawScope의 인터페이스가 이전 CanvasScope와 동일합니다.
    • ContentDrawScopedrawContent() 메서드를 갖습니다.
  • ColoredRect가 지원 중단되었습니다. 대신 Box(Modifier.preferredSize(width, height).drawBackground(color))를 사용하세요. (I499fa, b/152753731)

버전 0.1.0-dev08

2020년 4월 1일

androidx.compose:compose-compiler:0.1.0-dev08androidx.compose:compose-runtime:0.1.0-dev08이 출시되었습니다. 버전 0.1.0-dev08에 포함된 커밋을 확인하세요.

버그 수정

  • 특수키와 연산자를 팩토리 확장 함수로 대체했습니다.(I225e4)
  • 행 및 열 외부에서 RowScope 및 ColumnScope 멤버에 액세스할 수 있습니다. (I3a641)

버전 0.1.0-dev07

2020년 3월 18일

androidx.compose:compose-compiler:0.1.0-dev07androidx.compose:compose-runtime:0.1.0-dev07이 출시되었습니다. 버전 0.1.0-dev07에 포함된 커밋을 확인하세요.

API 변경사항

  • androidx.compose.ViewComposerandroidx.ui.node.UiComposer로 이동했습니다. (Idef00)
  • androidx.compose.Emittable를 삭제했습니다. ComponentNode와 중복되었습니다. (Idef00)
  • `androidx.composition.ViewAdapters가 삭제되었습니다. 더 이상 지원되지 않는 사용 사례입니다. (Idef00)
  • Compose.composeInto가 지원 중단되었습니다. 대신 setContent 또는 setViewContent를 사용하세요. (Idef00)
  • Compose.disposeComposition가 지원 중단되었습니다. 대신 setContent에서 반환한 Compositiondispose 메서드를 사용하세요. (Idef00)
  • androidx.compose.Compose.subcomposeIntoandroidx.ui.core.subcomposeInto로 이동했습니다. (Idef00)
  • ComponentNode#emitInsertAt의 이름이 ComponentNode#insertAt로 변경되었습니다. (Idef00)
  • ComponentNode#emitRemoveAt의 이름이 ComponentNode#removeAt로 변경되었습니다. (Idef00)
  • ComponentNode#emitMode의 이름이 ComponentNode#move로 변경되었습니다. (Idef00)

버그 수정

  • LayoutFlexible을 LayoutWeight로 이름을 변경했습니다. 채우기 위해 긴 매개변수의 이름을 변경했습니다. (If4738)
  • withConstraints에 LayoutDirection 매개변수가 있습니다.(I6d6f7)

버전 0.1.0-dev06

2020년 3월 4일

androidx.compose:compose-compiler:0.1.0-dev06androidx.compose:compose-runtime:0.1.0-dev06이 출시되었습니다. 버전 0.1.0-dev06에 포함된 커밋을 확인하세요.

새로운 기능

  • ComposeFlags.COMPOSER_PARAM 플래그를 true로 업데이트했습니다. 이는 작성 플러그인의 코드 생성 전략을 변경합니다. 높은 수준에서 이는 @Composable 함수가 추가 합성 매개변수와 함께 생성되어 후속 @Composable 호출로 전달되도록 합니다. 이는 실행을 적절히 관리하기 위한 런타임을 확보하기 위함입니다. 이 기능은 중요한 바이너리 브레이킹 체인지이므로 승인된 모든 작성 사용 시 소스 수준의 호환성을 유지해야 합니다. (aosp/1226314)

버전 0.1.0-dev05

2020년 2월 19일

androidx.compose:compose-compiler:0.1.0-dev05androidx.compose:compose-runtime:0.1.0-dev05이 출시되었습니다. 버전 0.1.0-dev05에 포함된 커밋을 확인하세요.

API 변경사항

  • ambients API에 브레이킹 체인지가 있습니다. 자세한 내용은 로그와 Ambient<T> 문서를 참조하세요.(I4c7ee, b/143769776)

버그 수정

  • ButtonStyle을 고유 함수로 대체했으며 텍스트(문자열) 오버로드를 삭제했습니다. 사용량 정보는 업데이트된 샘플을 참조하세요. (If63ab, b/146478620, b/146482131)

버전 0.1.0-dev04

2020년 1월 29일

androidx.compose:compose-compiler:0.1.0-dev04androidx.compose:compose-runtime:0.1.0-dev04 버전이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

API 변경사항

  • MutableStateareEquivalent 콜백을 추가했습니다. (Ic2ef8)
  • 구성요소를 삭제했으며 최상위 구성 API를 리팩터링했습니다. (I1f22e)
  • 컴포저 매개변수를 사용하여 구성 가능한 호출을 변환합니다. (I1691e)
  • 구성 클래스를 삭제하고 컴포저 기본 클래스로 대체합니다. (Ieadbf)
  • State<T>MutableState<T>를 안정적인 유형으로 표시합니다. (b/146557624)
  • currentComposerIntrinsic 및 테스트를 추가하여 올바른 매개변수 전달을 보장합니다. (I133f0)
  • ModelObserver를 단일 스레드로 만들었습니다. (Ica33d)
  • 인라인 구성 가능한 호출을 중심으로 그룹을 올바르게 생성합니다. (Ibf739)
  • 사용하지 않는 EffectsDsl 주석을 삭제합니다. (Ibe81d)
  • @Stable 주석을 추가했습니다. 수정자를 안정적인 것으로 표시했습니다. (Iacba7)
  • MutableState, State, mutableStateOf API를 도입했습니다. (I98291)
  • 효과를 @Composable로 리팩터링했습니다. (Ie2686)
  • ObserverMapModelObserver의 성능을 향상했습니다. (Ieb9b6)
  • 비 ComponentNode를 관찰할 수 있도록 읽기 관찰을 변경했습니다. (Ia4d93)