2021년 7월 20일
Kotlin 1.5.30-M1에서 제공되는 새로운 기능과 개선 사항을 먼저 시도해 보세요. 이 버전에서는 Apple Silicon 지원, Cocoapods 구성을 위한 개선된 Kotlin DSL, 멀티플랫폼 애플리케이션에서 사용자 지정 네이티브 라이브러리 공유, Kotlin/JS IR 백엔드를 사용하는 애플리케이션의 개선된 디버깅 경험 등이 포함되어 있습니다.
이러한 기능은 1.5.30-M1의 일찍 접근 가능한 미리보기로 사용할 수 있습니다. 이를 경험해 보려면 1.5.30-M1을 설치하세요.
Kotlin의 일찍 접근 가능한 미리보기에서는 각 릴리스 이전에 몇 가지 마일스톤 빌드를 제공합니다. 이러한 빌드를 설치하고 기능과 개선 사항을 미리 시도해 볼 수 있습니다.
또한 문제를 보고하고 피드백을 제공하여 Kotlin을 더 나아지게 만들 수 있습니다. 문제는 이슈 트래커인 YouTrack에 보고하세요.
보고된 문제를 최종 릴리스 이전에 해결할 수 있으므로 귀하의 문제가 해결되기까지 다음 Kotlin 버전을 기다릴 필요가 없을 가능성이 높습니다.
이 블로그 포스트에서는 1.5.30-M1에 포함된 다음 기능을 개요로 제공합니다:
- Apple Silicon에 대한 네이티브 지원
CocoaPods Gradle 플러그인을 사용한 유연한 pod 구성을 위한 개선된 Kotlin DSL 형식 - 멀티플랫폼 애플리케이션에서 플랫폼 간 사용자 지정 cinterop 라이브러리 공유 기능 및 Kotlin/Native과 함께 제공되는 플랫폼 종속 라이브러리
- Kotlin/JS IR 백엔드를 사용하는 애플리케이션의 개선된 디버깅 경험을 위한 JavaScript 소스 맵 생성
Apple Silicon에 대한 네이티브 지원
이전에 Apple Silicon 호스트에서 Kotlin 애플리케이션을 빌드하고 실행하려면 Rosetta 번역 환경을 사용해야 했습니다. 그러나 1.5.30부터는 이제 이 환경이 필요하지 않습니다. Apple Silicon 하드웨어에서 모든 대상을 위한 애플리케이션을 자연스럽게 빌드할 수 있습니다.
1.5.30에서 도입된 새로운 대상 - macOS Arm64, iOS Simulator Arm64, WatchOS Simulator Arm64 및 tvOS Simulator Arm64)을 사용하여 Apple Silicon에서 Kotlin 코드를 네이티브로 실행할 수 있습니다.
참고: 1.5.30에서 이러한 새로운 대상에 대한 제한된 지원으로 인해 대상 단축키를 사용하여 실행할 수 없습니다. 이러한 대상에 대한 지원을 개선하기 위해 작업 중입니다.
CocoaPods Gradle 플러그인을 위한 개선된 Kotlin DSL
Kotlin 1.5.30은 CocoaPods 구성을 개선하여 다음과 같은 새로운 DSL 형식과 매개변수를 제공합니다:
- 프레임워크의 동적 또는 정적 버전 정의
- 의존성 명시적으로 내보내기 활성화
- Bitcode 임베딩 활성화
cocoapods {
frameworkName = "MyFramework" // 이 속성은 폐기 예정이며 향후 버전에서 제거될 예정입니다
// 새로운 프레임워크 구성을 위한 DSL
framework {
// 모든 프레임워크 속성이 지원됩니다
// 프레임워크 이름 구성. 'frameworkName' 대신에 이 속성을 사용하십시오
baseName = "내프레임워크"
// 동적 프레임워크 지원
isStatic = false
// 종속성 내보내기
export(project(":다른KMM모듈"))
transitiveExport = true
// Bitcode 임베딩
embedBitcode(BITCODE)
}
}
멀티플랫폼 애플리케이션에서 사용자 지정 cinterop 라이브러리 공유 기능
이전에 멀티플랫폼 애플리케이션을 생성할 때 Kotlin/Native로 제공되는 플랫폼 종속 라이브러리만 공유할 수 있었습니다.
Kotlin 1.5.30에서는 cinterop 빌드 스크립트의 cinterops 블록을 사용하여 구성된 사용자 지정 네이티브 라이브러리도 공유할 수 있습니다.
이 지원을 활성화하려면 gradle.properties에 kotlin.mpp.enableCInteropCommonization=true를 추가하세요.
kotlin.mpp.enableGranularSourceSetsMetadata=true
kotlin.native.enableDependencyPropagation=false
kotlin.mpp.enableCInteropCommonization=true
더 나은 Kotlin/JS IR 백엔드 디버깅
Kotlin 1.5.30에서는 새로운 IR 백엔드를 사용하는 Kotlin/JS 애플리케이션의 디버깅 경험을 개선하여 JavaScript 소스 맵을 생성합니다. 이제 브레이크포인트, 단계별 실행, 변수 검사 및 올바른 소스 참조를 갖춘 가독성 있는 스택 추적과 함께 어떤 JavaScript 디버거에서도 더 나은 디버깅 경험을 누릴 수 있습니다.
Kotlin/JS 애플리케이션의 디버깅에 대한 자세한 내용은 알아보세요.
내부 변경 사항으로 인해 Kotlin/JS IR 컴파일러 1.5.30 및 해당 미리 보기 버전은 동일한 버전의 표준 라이브러리만 사용합니다. 그리고 그 반대로 1.5.30 Kotlin/JS 표준 라이브러리는 IR 컴파일러의 동일한 버전에서만 사용할 수 있습니다. 이 제한은 기본 (레거시) 컴파일러나 다른 라이브러리에는 적용되지 않습니다.
새로운 기능을 시도하고 피드백을 제공하세요
이러한 새로운 기능은 1.5.30 미리보기 릴리스 - Kotlin 1.5.30-M1에서 사용 가능합니다. 이를 쉽게 설치할 수 있는 방법은 다음과 같습니다:
- 만약 Early Access Preview 업데이트 채널을 사용한다면, IDE는 1.5.30-M1이 나온 후 자동으로 업데이트를 제안할 것입니다.
- 안정적인 업데이트 채널을 사용하는 경우 IDE에서 Tools | Kotlin | Configure Kotlin Plugin Updates를 선택하여 언제든지 Early Access Preview 채널로 변경할 수 있으며, 그런 다음 최신 미리보기 릴리스를 설치할 수 있습니다. 자세한 내용은 다음 지침을 확인하십시오.
이러한 IDE의 최신 버전을 언제든지 다운로드하여 Kotlin에 대한 포괄적인 지원을 받을 수 있습니다:
- Kotlin 응용 프로그램을 개발하기 위한 IntelliJ IDEA
- Android 및 크로스 플랫폼 모바일 응용 프로그램 개발을 위한 Android Studio
1.5.30-M1을 설치한 후 빌드 스크립트에서 Kotlin 버전을 1.5.30-M1로 변경하십시오.
문제가 발생하면이 지침을 참조하십시오.
더 읽기
- Early Access Preview에 참여하세요
원문
https://blog.jetbrains.com/kotlin/2021/07/kotlin-1-5-30-m1-released/
댓글