코틀린

저는 코틀린이 안드로이드 개발을 위한 언어라고 생각하기만 했습니다만, 스프링 프레임워크 5 이상부터 코틀린에 대한 지원을 시작했고 JVM 진영의 빌드 시스템인 Gradle 에서도 코틀린 언어를 기본적으로 채택하고 있습니다. 생각보다 많은 채용 공고에서도 코틀린 경험자를 우대하는 것을 확인할 수 있었습니다.

Gradle Kotlin DSL

Gradle의 기본 언어는 Kotlin DSL로 변경되었습니다. 코틀린 기반 스프링을 사용하지 않더라도 자바 기반 프로젝트의 Gradle에서 코틀린으로 빌드 스크립트를 작성할 수 있습니다. Spring Initializr에서 프로젝트 생성 시 Gradle DSL로 코틀린을 선택하면 settings.gradle.kts 와 build.gradle.kts 파일이 포함됩니다.

인텔리제이 - K2 모드

IntelliJ IDEA 2024.2 이상을 사용중이라면 K2 모드를 활성화하세요. 프로젝트의 Kotlin 컴파일러 버전과 상관없이 조금 더 개선된 코드 강조, 코드 완성 등을 제공한다고 합니다. 코틀린을 웹으로 학습하기 위한 Kotlin Playgound 도 K2 컴파일러로 동작합니다.

파일 - 설정 - 언어 및 프레임워크 - Kotlin - K2 모드 활성화

kapt 대신에 KSP 사용하기

코틀린의 Gradle best practices에서 어노테이션 처리를 위해 유지보수 모드인 kapt 대신에 Kotlin Symbol Processing API마이그레이션을 추천합니다. 단, 스프링 프로젝트에서 QueryDSL을 사용하고 있다면 Querydsl에서 Kotlin JDSL 으로와 같이 라인에서 개발한 오픈소스인 Kotlin JDSL로의 전환을 고려해야할 수 있습니다.

plugins {
    id("com.google.devtools.ksp") version "2.1.0-1.0.29"
}