Android KSP(Kotlin Symbol Processing) 활용을 위한 준비단계!
KSP란 뭘까? Kotlin Symbol Processing의 약자로 경량 컴파일러 플러그인을 개발할때 사용하는 API라고 한다.
Kotlin Symbol Processing API - 공식 문서
직접 만들지는 않았지만 그간 kapt를 활용하였고, 여전히 활용 중이다.
apply plugin: 'kotlin-kapt'
// 또는
kotlin("kapt")
이와 같은 코드가 존재한다면 kapt를 활용하고 있다는 것이다.
DataBinding
, Dagger
등에서 이를 활용하고 있는데, 이들이 해주는 역할은 @Annotation
을 적어주면 코드를 자동으로 만들어주는 역할을 하고 있다는 것이다.
아래와 같이 DataBinding 코드를 확인해 볼 수 있다.
kapt는 Java 기반이다. ksp는 kotlin 기반으로, kapt 보다 2배 더 빠르고 기능을 단순화 시켜 더 쉽게 만들 수 있다.
필자도 4개의 ksp 모듈을 만들어 활용하고 있다.
이 글에서 알아볼 내용
- ksp는 언제 쓰는 게 좋을까?
- ksp를 활용하기 위한 기초 지식