Мультиплатформенные проекты в Kotlin 1.3

Android
30 марта
Стекляшка 1

Многие знают Котлин в первую очередь как язык для разработки под Android и JVM. Однако это не единственные поддерживаемые платформы, и Котлин компилируется также в JavaScript и нативный код для различных архитектур. Естественным результатом такого разнообразия компиляторов стало появление проектов, в которых переиспользуется код под разные платформы.

Начиная с версии 1.2 экспериментальная поддержка таких мультиплатформенных проектов была добавлена в язык на уровне синтаксиса и со стороны тулинга. На практике это означает, что у программиста на Котлине появилась возможность использовать один и тот же код на разных платформах, при этом не теряя доступа к платформенно-специфичным API. Эта фича носит статус экспериментальной, а, значит, это одно из тех мест в языке, где изменения происходят чаще всего. Релиз 1.3 не стал исключением и поддержка мультиплатформенных проектов в нем была заметно переработана.

Этот доклад посвящён как самой по себе концепции мультиплатформенных проектов в Котлине, так и тем изменениям, которые появились в ней начиная с версии 1.3. Поэтому он будет интересен и тем, кто еще не знаком с этой фичей, и тем, кто уже успел попробовать ее в Kotlin 1.2.

В докладе поговорим:

  • О том, что такое мультиплатформенные проекты вообще, зачем они нужны и какие возможности дают программисту.
  • О том, как такие проекты выглядят со стороны IDE и билд-системы, какие сложности при этом возникают и как мы их решаем.
  • О том, как использовать такие проекты для разработки приложений под Android и iOS.

JetBrains

Илья Матвеев

Работал в Intel над виртуальной машиной ART. Сейчас в JetBrains в проекте Kotlin/Native. Занимаюсь поддержкой тулинга со стороны интеграции с Gradle и немного самим компилятором Kotlin/Native.

Работал в Intel над виртуальной машиной ART. Сейчас в JetBrains в проекте Kotlin/Native. Занимаюсь поддержкой тулинга со стороны интеграции с Gradle и немного самим компилятором Kotlin/Native.