오늘은 Kotlin 업데이트 소식을 소개드립니다. Kotlin의 가장 큰 변신은!! 최신 JVM 기능을 활용하도록 Kotlin은 동적 호출(invokedynamic)의 사용을 확장했습니다. 자세한 내용을 아래에서 살펴보세요!
Kotlin 업데이트 내용
- 지속적인 동적 호출과 같은 최신 Java 기능을 도입 - Java의 Lombok 및 JSpecify에 대한 지원을 추가 - Java와의 상호 운용성을 개선
또한 플랫폼 전반에 걸쳐 표준 라이브러리의 일관성을 높이고 Gradle 도구 및 새로운 JS IR 백엔드에 투자하는 노력도 지속적으로 기울이고 있습니다.
Kotlin 1.5.20 새로운 기능을 소개합니다.
- invokedynamic을 통한 문자열 연결 및 Java의 Lombok 생성 메서드와 JSpecify nullness 어노테이션 호출에 대한 실험적 지원을 포함한 Kotlin/JVM 개선 사항. - KDoc 주석을 Objective-C 헤더로 내보내는 실험적 기능을 포함한 Kotlin/Native 개선 사항. - Kotlin/JS IR 백엔드 마이그레이션 가이드. - Kotlin 작업의 병렬 실행을 포함한 Gradle 개선 사항. - 플랫폼 간에 Char 변환 동작을 적합하게 조정하기 위한 표준 라이브러리 개선 사항.
- 동일한 모듈 내에서 Java의 Lombok생성 메서드 호출. 실험 단계인 Lombok 컴파일러 플러그인을 사용하면 혼합된 Kotlin/Java 소스에서 Java의 Lombok 생성 선언을 사용할 수 있습니다. Lombok 어노테이션은 Java 소스에서만 작동하며 Kotlin 코드에서 사용하는 경우 무시됩니다. 지원되는 어노테이션에는 @With, @Data, @Getter, @Setter, @NoArgsConstructor, @RequiredArgsConstructor 및 @AllArgsConstructor가 포함됩니다.
- Java nullness 어노테이션의 표준 통합 세트를 포함하는 JSpecify 프로젝트.. 이를 통해 Java와 상호 운용될 때 Kotlin이 null 안전성을 더 용이하게 유지하도록 더 상세한 null 값 가능성 정보를 제공할 수 있습니다. 선언, 패키지 또는 모듈 범위에 대한 기본 null 값 가능성을 설정하고 매개변수 null 값 가능성 등을 지정할 수 있습니다. JSpecify 프로젝트는 현재 활발히 개발 중입니다. API 및 구현은 언제든지 크게 변경될 수 있습니다.
다음은 Kotlin이 JSpecify 어노테이션을 처리하는 방식을 보여주는 예입니다.
더 자세한 내용은 아래에서 확인해보세요!
업데이트에는 많은 외부기여자님들께서 풀 리퀘스트를 제공해주신 덕입니다. 다시한번 감사의 마음을 전합니다. 앞으로 많은 의견과 관심이 저희 JetBrains의 발전에 큰 힘이 될 것입니다. :)