Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Multiplatform

Compose Multiplatform 1.6.10 – iOS 베타, Web 알파, Lifecycle, 탐색 등

Read this post in other languages:

Compose Multiplatform은 개발자가 다양한 플랫폼에서 UI 구현을 공유할 수 있도록 JetBrains에서 빌드한 선언적 UI 프레임워크입니다. Compose Multiplatform을 이용하면 Kotlin Multiplatform 프로젝트에서 유연하게 코드를 공유할 수 있어 앱을 100%의 Kotlin 코드로도 제작 가능합니다. 1.6.10 릴리스에는 몇몇 강력한 기능이 포함되며, iOS 지원은 베타로, 웹 지원은 알파로 업그레이드됩니다.

Compose Multiplatform 시작하기

이번 릴리스의 주요 사항은 다음과 같습니다.

  • Multiplatform 리소스 API가 안정화되었으며 오랫동안 기다려온 몇몇 개선 사항이 해당 라이브러리에 적용됩니다.
  • Jetpack Compose Navigation 기반의 실험적 탐색 라이브러리.
  • 공용 ViewModel 구현이 포함된 공용 Lifecycle 라이브러리.
  • Kotlin 2.0.0은 새로운 Compose 컴파일러 Gradle 플러그인을 통해 지원됩니다.

주요 변경 사항에 관한 자세한 정보는 Compose Multiplatform 1.6.10의 새로운 기능을 참조하세요. 버전별 변경 사항, 업데이트 및 버그 수정 리스트는 GitHub의 릴리스 노트에 있습니다.

Compose Multiplatform for iOS 베타 버전

Compose Multiplatform for iOS가 작년에 알파 버전에 접어들면서 기본 디자인이 크게 개선되었습니다.

다음의 사항이 개선되었습니다.

  • 새로운 스크롤 물리 엔진과 기본 텍스트 필드, 창 인셋, 텍스트 선택 및 확대 도구 등으로 상호작용이 더욱 자연스러워졌습니다.
  • 팝업, 대화상자 및 다른 위젯의 디자인이 더 조화롭게 변경되었습니다.
  • Compose 렌더링이 ProMotion 디스플레이에 맞춰져 최대 120Hz의 동적 주사율을 지원합니다.
  • VoiceOver, 글꼴 및 배율 설정 및 접근성 트리 동기화 등의 iOS 접근성 기능이 추가되었습니다.
  • 새로운 공용 DSL로 UI 테스트를 할 수 있습니다.
  • 마지막으로, 몇몇 주요 Material 3 구성 요소가 iOS에 맞춰 변경되었습니다(DatePicker, AlertDialog, DropdownMenu, ModalBottomSheetSearchBar).

안정화 릴리스를 목표로 성능을 개선하면서 iOS용 Compose 구성 요소와 관련된 문제를 최대한 많이 고치고 있습니다.

Compose Multiplatform for Web 알파 버전

Compose Multiplatform 팀은 기쁜 마음으로 실험적 웹 타깃의 알파 버전을 공개합니다.

  • 다른 플랫폼에 구현된 Jetpack Compose 기능이 웹에도 지원됩니다.
  • 팀에서는 웹 플랫폼으로 릴리스하기 위해 전념하고 있습니다.

그러나 대부분의 구성 요소가 웹에 맞춰 개발되어야 하기 때문에 아직 많은 시간이 필요합니다. 계속 개선될 Compose Multiplatform for Web에 많은 기대 바랍니다! Compose 웹 앱을 사용해 보려면 튜토리얼을 참조하세요.

Multiplatform 리소스

리소스 라이브러리가 안정화되었습니다! API의 안정성이 개선되고, 더욱 유연하고 편리해졌습니다

  • 모듈이나 소스 세트에서 리소스를 원하는 대로 정렬할 수 있습니다. 리소스를 commonMain으로 제약할 필요가 없습니다. Compose Multiplatform이 각 플랫폼에 필요한 파일을 알아서 게시합니다.
  • Res 클래스 생성을 compose.resources {} 블록 내의 Gradle 구성 파일에서 제어할 수 있습니다.
  • 새로운 실험적 함수를 사용하여 글꼴과 이미지를 바이트 배열로 가져올 수 있습니다. Multiplatform 리소스에 액세스해야 하는 타사 라이브러리를 사용할 때 유용합니다.

위의 내용과 다른 변경 사항에 관한 상세 정보는 업데이트된 문서에서 확인하실 수 있습니다.

실험적 탐색 라이브러리

Jetpack Compose Navigation이 이제 Compose Multiplatform에도 구현되었습니다. 탐색 호스트, 그래프 및 컨트롤러를 사용하여 사용자가 쉽게 화면을 전환할 수 있도록 도와줄 수 있습니다.

공용 탐색 라이브러리는 아직 실험적인 상태이나 핵심 기능은 대부분 지원됩니다. 현재의 기능과 제약은 문서에 나와 있습니다.

Lifecycle 라이브러리 및 공용 ViewModel

Jetpack Lifecycle 기반의 Lifecycle 라이브러리는 공용 LifecycleOwner 구현을 제공하며, Jetpack Compose 기능을 다른 플랫폼으로 확장하여 공용 코드에서 수명 주기 상태를 관리하는 것을 도와줍니다.

상태 관리와 더불어 공용 lifecycle 라이브러리에는 공용 ViewModel 구현도 포함되어 있습니다. 이제는 Android의 방식으로 모든 플랫폼의 UI를 고품질로 만들 수 있습니다.

이러한 API의 구현과 설정과 관련된 상세한 정보는 문서를 참조하세요.

새로운 Compose 컴파일러 Gradle 플러그인

Compose 컴파일러가 Kotlin 저장소로 병합되었습니다. 따라서 Compose 컴파일러 플러그인과 Kotlin 버전이 동일한 버전을 사용하는 경우 항상 호환되며 같이 제공되기 때문에(예: Kotlin 2.0.10과 Compose 컴파일러 플러그인 2.0.10) 사용자의 프로젝트를 더욱 원활하게 Kotlin 2.0.0으로 마이그레이션할 수 있습니다.

새로운 컴파일러 버전과 더불어 프로젝트 설정을 간소화하고 Compose 컴파일러 옵션에 더 쉽게 액세스할 수 있도록 도와주는 새로운 Compose 컴파일러 Gradle 플러그인이 출시되었습니다.

마이그레이션 가이드 및 기타 세부 정보는 Compose 컴파일러 문서를 참조하세요.

Kotlin 2.0.0 지원

Compose Multiplatform 1.6.10은 Kotlin 2.0.0과 완전히 호환됩니다. 새로운 Compose 컴파일러와 함께 사용하면 최신 버전의 Kotlin으로 더욱 쉽고 유연하게 마이그레이션할 수 있습니다.

Compose Multiplatform을 위한 Fleet 기능

Fleet 1.35의 Compose 개발 지원이 개선되었으며 다음의 사항이 포함됩니다.

  • Kotlin/Wasm 코드 디버그 지원이 강화되었습니다.
  • 사용자가 입력하면 Composable 미리보기가 업데이트됩니다.
  • Multiplatform 리소스의 접근자와 탐색이 1.6.10 릴리스에서 개선되었으며, 리소스 관리에 도움이 되는 개선 사항도 다수 포함되었습니다.

기타 주목할 만한 변경 사항

이번 릴리스에 포함된 나머지 변경 사항에 대해 알아보려면 다음을 참조하세요.

기타 유용한 글과 동영상

게시물 원문 작성자

Aleksey Zamulla

Aleksey Zamulla

image description

Discover more