News

새로운 Gradle 빌드의 기본 언어로 채택된 Kotlin DSL

Read this post in other languages:

JetBrains는 개발자가 더 명료한 구조에 유지 관리하기 쉬운 빌드를 작성하도록 돕기 위해 늘 노력하고 있습니다. 이러한 목표를 생각했을 때 Gradle 빌드 스크립트와 플러그인 작성에 Kotlin을 적용하는 것은 자연스러운 일입니다. Kotlin은 강력한 기능을 풍부하게 제공하므로 DSL 생성을 위한 탁월한 선택이 되며 개발자 경험을 크게 향상합니다.

Gradle 사용자 경험을 원활하고 즐겁게 만들기 위해 Kotlin이 Gradle에 처음 도입된 이후 많은 작업이 수행되었습니다. 오늘 전해 드릴 중요한 소식은 바로 Gradle이 새로운 Gradle 빌드의 기본 언어로 Kotlin DSL을 채택했다는 발표입니다! 이제부터는 Kotlin DSL이 플러그인과 문서의 디폴트 옵션이 됩니다. 수준 높은 함수 및 확장 메서드와 같은 풍부한 기능 덕분에 Kotlin은 Gradle 스크립트 작성 시 가장 훌륭한 요소를 유지하고 심지어 개선할 수 있습니다.

JetBrains, Google 및 Gradle은 새로운 Gradle 빌드의 기본 언어로 Kotlin DSL이 채택되었다고 발표했습니다

JetBrains, Google 및 Gradle 간의 협업 덕분에 Kotlin DSL은 한 단계 더 발전했고 이제 개발자들이 프로젝트에 사용할 수 있는 훨씬 더 효율적이고 사용자 친화적인 도구로 거듭났습니다.” ~ Gradle 팀

또한, Google은 Kotlin DSL을 Android 앱용 Gradle 빌드 파일의 기본 스크립트로 사용한다고 밝혔습니다.

Google, Gradle 및 JetBrains는 단일한 코드 스타일과 잘 정의된 관용구를 갖추기 위해 지속적으로 긴밀히 협력할 예정이며, 이는 결국 코드 품질을 개선하는 데 도움이 될 것입니다.

이 글에서는 build.gradle.kts 파일의 기존 IDE 지원 기능과 함께 Gradle 스크립트 작성 시 Kotlin DSL의 몇 가지 주요 이점을 알려 드리겠습니다.

Groovy 대신 Kotlin DSL을 선택할 때의 이점

개발자마다 특정 언어를 선택하는 이유는 다를 수 있습니다. 아래에서는 Gradle 빌드 스크립트 및 플러그인 작성에 Kotlin DSL을 선택해야 하는 이유인 Kotlin의 주요 강점을 집중 조명합니다.

Android의 Gradle 빌드 파일을 Groovy에서 Kotlin으로 변환하기가 여전히 망설여 진다면 아래에서 Kotlin을 사용할 때의 4가지 주요 이점을 살펴보세요.

  1. 컴파일 타임 검사

두 언어의 중대한 차이점은 Groovy는 동적 언어인 반면 Kotlin은 정적으로 타입이 지정된다는 것입니다. 즉, Kotlin DSL을 사용할 때는 런타임이 아닌 컴파일 타임에 빌드 스크립트 오류가 발생할 수 있습니다.

동적 타입 검사를 사용하면 빌드 스크립트가 실행될 때까지 오류가 감지되지 않습니다. 그러나 컴파일 타임 오류가 있을 때는 문제를 더 일찍 해결할 수 있습니다. 또한 IDE에서 작업하는 경우 에디터가 오류를 강조 표시할 수 있습니다. 예를 들어 ‘application’ 대신 구성 이름 ‘applications’를 참조하려고 하면 다음과 같이 표시됩니다.

Kotlin DSL을 사용하는 경우 컴파일 타임에 빌드 스크립트 오류가 발생할 수 있습니다

2. 향상된 IDE 경험

코드에 대한 더 많은 의미론적 정보를 통해 다음과 같은 IDE 기능을 최대한 활용할 수 있습니다:

  • 자동 완성 및 콘텐츠 지원
  • 소스 코드 탐색
  • 리팩터링

지금까지 IntelliJ IDEA와 Android Studio는 Kotlin에 가장 통합적인 환경을 제공합니다. 그러나 다른 IDE에서도 Kotlin-DSL 기반 빌드를 가져오고 작업할 수 있습니다. Gradle 문서에서 Kotlin DSL의 IDE 지원표를 확인할 수 있습니다.

3. 간소화된 선언적 플러그인 구문

Kotlin DSL은 기존 Groovy DSL의 대체 구문을 제공하며 핵심 Kotlin 언어와 동일한 이점을 제공합니다. 두 언어를 나란히 살펴보겠습니다.

프로젝트에 Gradle 플러그인을 적용할 때 플러그인 ID만 지정하면 됩니다. 예를 들어 Groovy DSL로 ‘application’ 플러그인을 지정하면 다음과 같이 표시됩니다.

Groovy DSL로 플러그인 ID 지정

Kotlin DSL의 단순화된 구문 덕분에 Kotlin에서 ‘application’만 입력하면 됩니다.

Kotlin DSL로 플러그인 ID 지정

위에서 언급했듯이 존재하지 않는 플러그인을 적용하려고 하면 IDE에서 구문 오류를 표시합니다.

4. 성장하고 있는 Kotlin 개발자 커뮤니티

Kotlin에는 언어 및 라이브러리에 기여하고 Gradle 플러그인을 제공하는 대규모 개발자 커뮤니티가 있습니다.

커뮤니티가 성장함에 따라 숙련된 개발자와 Kotlin을 처음 사용하는 개발자 모두 풍부한 정보를 접할 수 있습니다. 여기에는 Kotlin 공식 문서, 포럼, 블로그, 소셜 미디어의 스레드 및 온라인 교육 과정 등이 포함됩니다.

유용한 리소스가 풍부하게 제공되므로 문제 해결책을 쉽게 찾고 역량을 한 단계 끌어올릴 수 있습니다.

Groovy에서 Kotlin DSL로 마이그레이션

여기에 나열한 Kotlin DSL의 장점과 강력한 기능은 생산성을 높이고 고성능 소프트웨어를 빌드하는 데 이 언어를 선택해야 하는 이유입니다. 기존 Gradle 빌드를 Groovy에서 Kotlin DSL로 마이그레이션하려면 Gradle의 마이그레이션 가이드를 확인하세요. Android 개발자를 위해 Android 앱의 Gradle 빌드 파일을 Groovy에서 KTS로 변환하는 방법에 대한 자세한 가이드도 마련되어 있습니다.

Gradle은 Groovy DSL에 대한 지원을 계속 유지합니다. Groovy DSL을 사용하는 복잡한 빌드 로직이 있는 대규모 프로젝트의 경우, Gradle은 아직 마이그레이션하지 말 것을 권장합니다. 그러나 이제 Kotlin이 Gradle의 기본 DSL이므로 빌드 스크립트를 작성하고 편집할 때 경험을 개선하려는 Gradle 사용자에게 Kotlin DSL이 크게 도움이 될 것으로 생각합니다.

언제나 그렇듯이 JetBrains 팀은 풍부한 기능이 담긴 도구를 제공하여 효율적인 애플리케이션 개발을 돕는다는 목표에 따라 기술 수준을 더욱 높이기 위해 최선을 다하고 있습니다.

Jessie Cho

Anton Yalyshev

image description

Discover more