728x90
Android 개발에서는 Java, Kotlin을 사용하고 있다. 하지만 익숙함 속에서 하나를 놓친 것이 있을 것이다. 이는 바로 Gradle에서 사용하고 있는 Groovy라는 언어(?)를 사용한다. Groovy가 뭐야라고 할 수 있지만 Android Studio에서 프로젝트를 생성시에 만들어지는 build.gradle, settings.gradle이 Groovy로 작성되어 있다.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 31
defaultConfig {
applicationId "com.example.codehong"
minSdkVersion 21
targetSdkVersion 31
versionCode 1
versionName "1.0"
}
...
}
Kotlin, Java를 사용하다가 갑툭튀 Groovy이라 Gradle 작성 시에 불편했던 것을 알았는지 2021년부터 구글에서 Kotlin으로 작성할 수 있는 Kotlin DSL을 발표하였다.
Kotlin DS 이란?
DSL이란 Domain Specific Language의 약어로 특정 분야에 최적화된 프로그래밍 언어를 뜻한다. 이는 코틀린의 언어적인 특성으로 가독성을 높이면 간략한 코드를 사용하게 해주면서 Groovy보다는 친숙해 작성 속도 또한 빠르게 해준다.
Kotlin DSL를 사용하는 이유
앞서 설명했듯이 Kotlin DSL을 사용하는 이유는 코틀린의 특징인 가독성, 간략한 코드, 친숙함이며 아래와 같이 장점이 있다.
- 컴파일 타임에 에러 확인
- 코드 탐색
- 자동 완성
- 구문 강조
- 소스코드와 동일한 언어의 사용
- Firebase와 같이 서드파티 공식문서 업데이트가 늦음(깃허브 통해서 Firebase 개발자 남긴 댓글을 확인해야하는 번거로움…)
- 재사용성
장점이 존재하면 단점이 존재하는 법…. 단점은 아래와 같다.
- Cache Delete, Invalidation, Clean Build 시에는 Groovy 보다 빌드 속도가 느림(해당 단점은 2021년 기준이라 2022년에 테스트한 결과로서는 비슷함)
- Java 8 이상에서 동작
- 새로운 라이브러리 버전 Inspection 기능 미지원
'Android' 카테고리의 다른 글
Kotlin DSL (2) - Groovy DSL에서 Kotlin DSL로 이관 (0) | 2022.12.13 |
---|---|
안드로이드 스튜디오 Arctic Fox 버전 이후 gradle allprojects 오류 해결 방법 (0) | 2022.02.05 |
SharedPreference를 효율적으로 사용해보기 (0) | 2022.01.17 |
Clean Architecture 1 - 클린 아키텍처란 무엇인가? (0) | 2022.01.17 |
안드로이드 4대 컴포넌트 (0) | 2021.12.27 |