본문 바로가기
Kotlin/Release Notes

[Kotlin Release Notes] Kotlin 1.5.0 – the First Big Release of 2021

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

2021년 5월 5일

 

새 릴리스 일정에 따른 첫 번째 기능 릴리스를 환영합니다 - Kotlin 1.5.0!

이 릴리스는 안정적인 언어 기능인 JVM 레코드, sealed 인터페이스, 인라인 클래스와 함께 새로운 기본 JVM IR 컴파일러를 포함합니다. Kotlin 1.4.30 및 Kotlin 1.5.0 EAP 릴리스에서의 기능 미리보기에 대한 여러분의 피드백은 이러한 기능을 안정화하는 데 큰 도움이 되었습니다.
여러분의 협조에 대해 매우 감사합니다! 감사합니다!

이미 IntelliJ IDEA에서 새 JVM IR 컴파일러를 사용해 본 개발자가 25,000명 이상 있습니다.

시간이 지남에 따라 혜택을 눈에 띄게 느낄 것입니다. 새 컴파일러는 Kotlin/Native 및 Kotlin/JS IR 컴파일러와 통합된 파이프라인 및 비즈니스 로직을 공유하므로 모든 플랫폼에 대한 대부분의 기능, 최적화 및 버그 수정을 동시에 구현할 수 있습니다. 또한 모든 플랫폼에서 자동으로 작동하는 사용자 정의 처리 및 변환을 추가할 수 있습니다.

Kotlin 1.5.0에 대한 질문이 있으신가요? Roman Elizarov, Svetlana Isakova 및 Kotlin 팀의 다른 멤버는 Kotlin 1.5 온라인 이벤트 동안 5월 25일에 실시간으로 여러분의 질문에 답변해드릴 예정입니다.

이 블로그 포스트에서는 다음 내용을 개요로 제공합니다.

  • 안정적인 언어 기능 - JVM 레코드, sealed 인터페이스 및 인라인 클래스.
  • 표준 및 테스트 라이브러리 개선 사항, 안정적인 부호 없는 정수 형식, java.nio.file.Path에 대한 확장 기능, 그리고 String, Char 및 Duration API 개선 사항을 포함합니다.
  • Kotlin/JVM 개선 사항, 새로운 기본 JVM IR 컴파일러를 포함합니다.
  • Kotlin/Native 개선 사항, Linux 및 iOS 애플리케이션의 디버그 컴파일 속도가 빨라집니다.
  • Kotlin/JS 개선 사항, 더 많은 JS 라이브러리를 새로운 Kotlin/JS IR 컴파일러로 마이그레이션합니다.

 

Kotlin 1.5.0으로 자동 업데이트


IntelliJ IDEA 또는 Android Studio를 사용하는 경우, 새로운 Kotlin 릴리스가 사용 가능해지면 자동으로 업데이트할 수 있습니다.

Kotlin 1.5.0을 설치하는 방법에 대한 자세한 내용은 여기에서 확인하세요.


안정적인 언어 기능


Kotlin 1.5.0은 1.4.30에서 미리보기로 제시된 새 언어 기능의 안정된 버전을 포함합니다.

- JVM 레코드를 지원하여 최신 Java 기능과 상호 운용성 유지 - 레코드 클래스.
Kotlin 클래스를 Java 코드에서 레코드로 사용하려면 데이터 클래스로 만들고 @JvmRecord 주석을 표시하십시오.

 

@JvmRecord
data class User(val name: String, val age: Int)


JVM 레코드를 사용하는 요구 사항에 대한 자세한 내용은 여기에서 확인하세요.

- sealed 인터페이스. sealed 수정자는 클래스와 마찬가지로 인터페이스에서 작동하며 컴파일 시간에 sealed 인터페이스의 모든 구현이 알려져 있습니다.

 

sealed interface Polygon


- sealed 클래스 개선 사항. 이전에는 sealed 클래스의 모든 하위 클래스가 동일한 파일에 있어야 했습니다. 이제 동일한 컴파일 단위와 패키지의 모든 파일에 있을 수 있습니다.


- 인라인 클래스는 값을 저장하는 value-based 클래스의 하위 집합으로 값의 타입을 래핑하기 위한 추가 메모리 할당이 필요하지 않는 방식으로 사용할 수 있습니다. 선언에 대한 value 수정자를 사용하세요.

 

@JvmInline // JVM 백엔드에 필요
value class Password(val s: String)

 

Kotlin 1.5.0 언어 기능에 대해 더 알아보려면 다음을 확인하세요:

 

  • 언어 기능 미리보기 블로그 게시물 읽기.
  • 언어 문서를 읽기.
  • 언어 비디오 시리즈를 시청하기.

 

 

 

표준 및 테스트 라이브러리 개선 사항


Kotlin 1.5.0의 라이브러리 개선 사항 중에서도 가장 기대되는 것은 Kotlin 1.5.0-RC 블로그 게시물에서 진행한 조사를 기반으로 한 부호 없는 정수 형식을 위한 새로운 안정적인 API입니다.

표준 라이브러리는 다음과 같은 많은 유용한 기능을 제공합니다:

  • 부호 없는 정수 형식 및 범위, 진행 및 해당 함수에 대한 새로운 안정적인 API. 부호 없는 정수에 대한 자세한 내용은 여기에서 알아보세요.
  • java.nio.file.Path에 대한 현대적인 비차단 Java IO를 Kotlin-스러운 스타일로 사용하기 위한 확장 함수.
  • 문자열 및 문자 API 개선 사항으로 문자열 및 문자의 대소문자를 변경하기 위한 로캘에 무관한 새로운 API, 문자와 그들의 정수 코드 및 숫자 값 간 변환을 위한 새로운 함수 세트, 그리고 더 많은 char 함수에 대한 멀티플랫폼 지원.
  • Duration API 변경 사항으로 내부 표현에 Long 값을 사용하고, Long 값을 반환하는 새로운 속성을 제공합니다.

 

테스트 라이브러리는 다음과 같은 중요한 개선 사항 세트를 함께 제공합니다:

  • 멀티플랫폼 프로젝트의 공통 소스 세트에서 단일 kotlin-test 종속성을 사용합니다.
  • Kotlin/JVM 소스 세트에 대한 테스트 프레임워크를 지정하는 경우 kotlin-test 종속성만으로 테스팅 프레임워크를 자동으로 선택합니다.
  • 여러 개의 어설션 함수 업데이트가 있습니다.

 

라이브러리 개선 사항에 대해 더 자세히 알아보려면 다음을 참고하세요:

  • 예제와 함께 라이브러리 개선 블로그 게시물 읽기.
  • Kotlin 1.5.0의 새로운 내용을 읽기.
  • 비디오 시청하기.

 

 

 

Kotlin/JVM

 

Kotlin 1.5.0은 다음과 같은 새로운 기능을 제공합니다:

  • 새로운 JVM IR 컴파일러가 안정화되고 기본 설정으로 사용됩니다. Kotlin 1.4.0에서 발표된 이 새 컴파일러에 대한 자세한 내용은 블로그 포스트와 문서에서 확인할 수 있습니다.
  • SAM 어댑터와 람다를 동적 호출 (invokedynamic)로 컴파일하여 최신 JVM 기능을 활용합니다. Kotlin 일반 람다의 컴파일은 실험적입니다.
  • 새로운 기본 JVM 대상: 1.8. 1.6 대상은 사용이 중단되었습니다.
  • Java로부터의 타입 널성 정보 처리가 개선되었습니다.
  • @JvmDefault 및 이전 Xjvm-default 모드가 사용 중단됩니다.

 

Kotlin/Native

 

Kotlin/Native에서는 다음과 같은 기능을 제공합니다:

  • linuxX64 및 iosArm64 대상의 디버그 모드에서 컴파일러 캐시 지원을 제공합니다. 컴파일러 캐시를 활성화하면 대부분의 디버그 컴파일이 훨씬 빠르게 완료되지만 첫 번째 컴파일은 제외됩니다. 측정 결과 테스트 프로젝트에서 약 200% 속도 향상이 나타났습니다.
  • 응용 프로그램 충돌을 일으킬 수 있는 문제를 피하기 위해 내장 메모리 누수 검사기를 비활성화합니다. 메모리 누수 검사기를 활성화해야 하는 경우 활성화 방법을 알아보세요.

 

Kotlin/JS


Kotlin/JS에서는 다음과 같은 개선 사항이 있습니다:

Kotlin/JS IR 컴파일러를 베타로 승격하려고 합니다. 이미 많은 잘 알려진 프레임워크 및 라이브러리가 IR 컴파일러에 대한 지원을 제공하고 있습니다. 이러한 라이브러리를 추가하려면 역방향 호환성을 사용하여 라이브러리를 마이그레이션하면 됩니다.


또 다른 추가 개선 사항은 webpack 4 대신 webpack 5를 사용하여 JS 번들을 빌드하는 것입니다.


Kotlin 1.5.0 설치 방법


이미 IntelliJ IDEA 또는 Android Studio를 사용 중이라면 릴리스가 나오면 Kotlin을 자동으로 1.5.0으로 업데이트 제안할 것입니다. 수동으로 업데이트하려면 지침을 따르면 됩니다. 단, Kotlin 1.5.0을 지원하는 버전은 Android Studio 4.2.0, Arctic Fox Canary 15 및 그 이후 버전만 지원합니다.


Kotlin을 지원하기 위해 최신 버전의 이 IDE를 다운로드할 수도 있습니다:

 

  • Kotlin 애플리케이션을 개발하기 위한 IntelliJ IDEA
  • Android 및 크로스 플랫폼 모바일 애플리케이션을 개발하기 위한 Android Studio


kotlinx 라이브러리를 호환되는 버전으로 업데이트하고 기존 프로젝트의 빌드 스크립트에서 Kotlin 버전을 1.5.0으로 지정해야 합니다.


명령 줄 컴파일러가 필요한 경우 Github 릴리스 페이지에서 다운로드할 수 있습니다.


문제가 발생하는 경우 도움을 받으려면

 

  •  Slack(초대 링크 얻기)에서 도움을 찾으시거나 
  • 문제를 YouTrack 이슈 트래커에 신고하십시오.

 

Kotlin 1.5.0 온라인 이벤트


Kotlin 1.5.0 온라인 이벤트에 참여하여 Kotlin 팀이 최신 릴리스에 관한 모든 질문에 답변해 드릴 것입니다. 궁금한 사항이 있으면 어떤 것이든 물어보실 수 있으며, 질문이 없는 경우에도 관심이 있다면 좋습니다. 이 이벤트는 1.5 시간 동안 진행될 예정입니다.

Twitter에서 #kotlin15ask로 질문을 게시하거나 등록 양식에 질문을 추가하세요.

또한 Reddit에서 5월 27-28일에 진행되는 Ask Me Anything (AMA) 세션에서 답변하지 못한 질문 및 새로운 질문을 해결할 예정입니다.

 

호환성


호환성 관련하여 이전에 발표된 변경 사항의 사용 중단 주기가 Kotlin 1.5.0과 함께 종료됩니다. 모든 이러한 경우가 언어 위원회에서 신중하게 검토되었으며 Kotlin 1.5의 호환성 가이드에서 나열되어 있습니다. 이러한 변경 사항을 YouTrack에서도 살펴볼 수 있습니다.

 

Watch and read more

 

Kotlin YouTube에서 시청:

 

Kotlin 블로그에서 읽기:

 

Kotlin 문서에서 더 알아보기:

 

외부 기여자


외부 기여자에게 감사의 말씀을 전합니다! 이 릴리스에 포함된 pull request를 제출한 모든 외부 기여자들에게 감사합니다:

Jinseong Jeon, Mads Ager, Ivan Gavrilovic, pyos, Steven Schäfer, Iaroslav Postovalov, scaventz, Kristoffer Andersen, Bingran, Stefan Wolf, Victor Turansky, fjjohnchen, justin.wei, Nelson Osacky, Mikhail Galanin, Michael Hoisie, Kris Hall, Kevin Bierhoff, Jiaxiang Chen, Hung Nguyen, Cedric Champeau.

 

유트랙 탑 이슈 등록자


YouTrack에서의 주요 이슈 제보자들에게도 감사의 인사를 드립니다! YouTrack에 이슈를 보고하여 이 릴리스를 더 나아지게 만들어 준 커뮤니티 구성원들에게 특별히 감사드립니다:

Morgan Bartholomew (118 건); Marc Knaup (78 건); Ryan Nett (61 건); Louis CAD (48 건); Daniil Stepanov (44 건); AndroidDeveloperLB (39 건); Victor Turansky (38 건); Jinseong Jeon (35 건); Zac Sweers (25 건); Łukasz Wasylkowski (22 건); Tianyi Guan (21 건); Christoph Sturm (20 건); Axel Fontaine (19 건); Alexander Nozik (18 건); Robert Stoll (18 건); Björn Kautler (18 건); Róbert Papp (14 건); Andreas Malik (14 건); Lorenzo Neumann (14 건); Iaroslav Postovalov (14 건).

Kotlin 1.5.0 설치하고 Kotlin 1.5 온라인 이벤트에 등록하세요!

 

원문

 

https://blog.jetbrains.com/kotlin/2021/05/kotlin-1-5-0-released/

반응형

댓글