본문 바로가기
Kotlin/Release Notes

[Kotlin Release Notes] Preview of Kotlin 1.5.30 With Native Apple Silicon Support, Improved Kotlin DSL for the CocoaPods Gradle Plugin, and More

by 노력남자 2023. 9. 11.
반응형

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로 변경하십시오.

문제가 발생하면이 지침을 참조하십시오.

 

더 읽기

 

 

원문

 

https://blog.jetbrains.com/kotlin/2021/07/kotlin-1-5-30-m1-released/

반응형

댓글