Kotlin 1.3 с поддержкой корутин, бета-версией Kotlin/Native и не только

На днях вышел Kotlin 1.3 с комплектом сопутствующих библиотек, инструментов сборки и учебных материалов.

Мы делаем Kotlin как инструмент для разработки приложений любого масштаба на любых платформах. В Kotlin 1.3, благодаря корутинам, читать и писать неблокирующий асинхронный код стало легко и удобно. Масштабируемость стала гораздо доступнее. В новом релизе мы также выпустили бета-версию Kotlin/Native, позволяющую компилировать код Kotlin непосредственно в машинный код. Мультиплатформенные возможности Kotlin теперь работают на всех поддерживаемых платформах, что позволяет, например, использовать одну и ту же бизнес-логику в приложениях для Android и iOS. Общую логику можно также использовать для серверов и мобильных и веб-клиентов. Кроме того, появилась возможность писать легко переносимые мультиплатформенные библиотеки, которые возьмут на себя большинство повседневных задач.

image

В ближайшее время мы проведем серию вебинаров по основным возможностям версии 1.3, записывайтесь здесь.

Сообщество и экосистема


В этом году экосистема Kotlin росла беспрецедентными темпами. С января 2018 года код на Kotlin редактировали приблизительно 1,5 миллиона пользователей — по сравнению с прошлым годом их число более чем удвоилось. База знаний на StackOverflow и в нашем публичном Slack тоже растет впечатляющими темпами. И мы очень рады, что сообщество Kotlin такое отзывчивое и доброжелательное.

Нам нравится, как растет и развивается экосистема, сложившаяся вокруг Kotlin. Kotlin дружит с Google Cloud Platform, Spring Framework и Gradle, не говоря уже об официальной поддержке на платформе Android. Сообщество open source создает превосходные библиотеки, такие как RxKotlin, mockito-kotlin, TornadoFX, Kodein и ΛRROW. Уже переходят на Kotlin или планируют миграцию такие проекты, как Square’s Okio и LibreOffice. Приглашаем всех присоединяться к экосистеме Kotlin со своими идеями и проектами.

В Kotlin 1.3 внесли свой вклад не только сотрудники JetBrains, но и многие другие люди, которые создавали пулл-реквесты, баг-репорты и поддерживали с нами всяческую обратную связь. Мы очень ценим вашу помощь в развитии Kotlin!

Корутины официально стабильны


Корутины — это современный способ написания неблокирующего асинхронного кода, который легко понимать и удобно дорабатывать. Этот мощный инструмент можно использовать в самых разных целях — от перекладывания вычислительной нагрузки на фоновые исполнители (worker) до реализации сложных сетевых протоколов. Библиотека kotlinx.coroutines, версия 1.0 которой вошла в этот релиз, представляет собой прочный фундамент для управления асинхронными задачами в любом масштабе, включая их составление, отмену, обработку исключений и случаи, связанные с пользовательским интерфейсом.

Начните уже сегодня на kotl.in/coroutines!

Kotlin/Native Beta


Kotlin/Native использует LLVM для компиляции исходных кодов на Kotlin в самостоятельные двоичные файлы (виртуальная машина не нужна) для разнообразных операционных платформ и процессорных архитектур, включая iOS, Linux, Windows, Mac и даже WebAssembly и встраиваемые системы, такие как STM32. Kotlin/Native поддерживает полностью автоматическое управление памятью, обеспечивает взаимодействие с C и Objective-C (и Swift) и позволяет работать с API платформ, такими как Core Foundation или POSIX, и любыми нативными библиотеками, которые могут понадобиться разработчику.

Среда выполнения Kotlin/Native поощряет использование неизменяемых данных и запрещает любые попытки передачи незащищенного изменяемого состояния между потоками. На самом деле с точки зрения Kotlin/Native потоков не существует, они абстрагированы в качестве низкоуровневого аспекта реализации и заменены исполнителями (worker) — это безопасный и удобный способ реализации параллелизма.

Познакомиться с Kotlin/Native можно по адресу kotl.in/native.

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


Перед Kotlin в явном виде поставлена задача работать на всех платформах, однако мы рассматриваем ее как предпосылку к более важной цели — использованию одного и того же кода на разных платформах. Поддержка JVM, Android, JavaScript и Native позволяет Kotlin работать с любыми компонентами современных приложений. А это дает бесценную возможность переиспользования кода и имеющихся наработок — ведь куда лучше сосредоточиться на решении действительно сложных задач, а не на реализации того же самого кода по два раза и больше. Хотя мультиплатформенные возможности в Kotlin остаются экспериментальными, версия 1.3 — это большой шаг вперед.

Вместе с Kotlin 1.3 поставляется комплект мультиплатформенных библиотек для всех повседневных задач, например: HTTP, сериализация и управление корутинами. Использование подобных библиотек — самый простой способ писать мультиплатформенный код. Кроме того, вы можете создавать и собственные мультиплатформенные библиотеки, абстрагирующие особенности определенных платформ в едином API.

Начните переиспользовать код на разных платформах уже сегодня: kotl.in/multiplatform.

Инструменты для Kotlin/Native и Multiplatform


В Kotlin 1.3 доступны инструменты разработки Kotlin/Native и мультиплатформенных проектов в средах разработки IntelliJ IDEA Community Edition, IntelliJ IDEA Ultimate и Android Studio. Во всех трех IDE можно использовать всю функциональность редактирования кода — подсветку ошибок, комплишен, навигацию и рефакторинг. В будущем мы займемся реализацией более сложных возможностей и интеграцией с коммерческими инструментами.

Ktor 1.0 Beta


Ktor — наш фреймворк для взаимосвязанных приложений, реализующий весь стек HTTP с полной асинхронностью на основе корутин, — уже в бета-версии и доступен по адресу ktor.io.

Другие улучшения


Кроме всего вышеупомянутого в этом релизе появился целый ряд других возможностей и улучшений:
Полное описание всех нововведений можно прочитать здесь (на английском языке). Также вы можете ознакомиться с журналом изменений и с руководством по совместимости.

KotlinConf


Мы опубликовали все видео с конференции KotlinConf 2018, на которой обсуждались главные темы Kotlin 1.3. Посмотрите вступительный кейноут, чтобы подробнее разобраться во всем самом новом и важном:


Записи всех семинаров с KotlinConf 2018 доступны на JetBrains TV.

Изучение Kotlin


Мы очень стараемся сделать изучение Kotlin легким и приятным. Для этого существует много ресурсов, среди которых мы хотели бы выделить следующие:
Для программистов всех уровней отличным отправным пунктом послужат вебинары по Kotlin 1.3.

Как обновиться


Как и всегда, вы можете попробовать Kotlin онлайн по адресу play.kotl.in.

  • Maven, Gradle и npm: используйте номер версии 1.3.0 для компилятора и стандартной библиотеки. Документация здесь.
  • IntelliJ IDEA: Kotlin 1.3 будет включен в версию 2018.3, а в более ранних выпусках достаточно установить или обновить плагин Kotlin до версии 1.3.
  • Android Studio: установить или удалить плагин можно с помощью Plugin Manager.
  • Eclipse: плагин можно установить через Marketplace.
  • Компилятор для командой строки можно загрузить на странице выпуска в Github.


Let«s Kotlin!

Ваша команда JetBrains
The Drive to Develop

© Habrahabr.ru