Connect with us

Новости

Google ускоряет сборку Kotlin с Kotlin Symbol Processing 1.0

KSP предлагает аналогичные функции Kotlin Annotation Processing Tool (KAPT), однако он работает до 2 раз быстрее, предлагает прямой доступ к конструкциям языка Kotlin и поддерживает многоплатформенные таргеты.

Опубликовано

/

     
     

Google выпустил Kotlin Symbol Processing (KSP). KSP предлагает аналогичные функции Kotlin Annotation Processing Tool (KAPT), однако он работает до 2 раз быстрее, предлагает прямой доступ к конструкциям языка Kotlin и поддерживает многоплатформенные таргеты.

За последние несколько месяцев у KSP вышло 32 релиза, в которых было исправлено более 160 ошибок. Если вы ждали, чтобы начать использовать этот инструмент, то сейчас самое время, пишет Google.

Зачем сделали KSP

В команде Android регулярно спрашивают разработчиков: что вас сегодня больше всего разочаровывает в написании приложений? Одна из главных проблем, которая возникает постоянно — это скорость сборки. На протяжении многих лет Google постоянно улучшал инструментарий Android-сборки, и сегодня в нем появился стабильный KSP. KSP — это следующее поколение обработки аннотаций в Kotlin: он значительно повысит скорость сборки для разработчиков Kotlin и, в отличие от KAPT, предлагает поддержку Kotlin/Native и Kotlin/JS.

Почему KSP быстрее?

Kotlin Annotation Processing Tool (KAPT) работает с инфраструктурой обработки аннотаций Java, чтобы заставить большинство процессоров аннотаций языка Java работать в Kotlin из коробки. Для этого KAPT компилирует код Kotlin в заглушки (stubs) Java, которые сохраняют информацию, которая важна для процессоров аннотаций Java. Однако создание этих заглушек является “дорогостоящим” и означает, что компилятор должен разрешать все символы в вашей программе несколько раз (один раз для создания заглушек, а затем еще раз для выполнения фактической компиляции).

KSP отходит от модели генерации заглушек, работая как плагин компилятора Kotlin — он позволяет обработчикам аннотаций читать и анализировать исходные программы и ресурсы непосредственно в Kotlin, вместо того, чтобы требовать от вас зависимости от инфраструктуры обработки аннотаций Java. Это значительно увеличивает скорость сборки (до 2 раз быстрее для тестового приложения Kotlin с Room) и означает, что KSP можно использовать для сред без Android и без JVM, таких как Kotlin/Native и Kotlin/JS.

С чего начать

Чтобы начать использовать KSP, загрузите проект KSP Playground с GitHub, в котором показано, как использовать KSP как в качестве обработчика аннотаций, так и в качестве приложения/библиотеки.

Если вы разработчик приложений, ознакомьтесь со списком поддерживаемых библиотек и кратким руководством по переносу модуля с KAPT на KSP.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Популярное

Спасибо!

Теперь редакторы в курсе.