- PVSM.RU - https://www.pvsm.ru -
На днях вышел Kotlin 1.3 с комплектом сопутствующих библиотек, инструментов сборки и учебных материалов.
Мы делаем Kotlin как инструмент для разработки приложений любого масштаба на любых платформах. В Kotlin 1.3, благодаря корутинам, читать и писать неблокирующий асинхронный код стало легко и удобно. Масштабируемость стала гораздо доступнее. В новом релизе мы также выпустили бета-версию Kotlin/Native, позволяющую компилировать код Kotlin непосредственно в машинный код. Мультиплатформенные возможности Kotlin теперь работают на всех поддерживаемых платформах, что позволяет, например, использовать одну и ту же бизнес-логику в приложениях для Android и iOS. Общую логику можно также использовать для серверов и мобильных и веб-клиентов. Кроме того, появилась возможность писать легко переносимые мультиплатформенные библиотеки, которые возьмут на себя большинство повседневных задач.
В ближайшее время мы проведем серию вебинаров по основным возможностям версии 1.3, записывайтесь здесь [1].
В этом году экосистема Kotlin росла беспрецедентными темпами. С января 2018 года код на Kotlin редактировали приблизительно 1,5 миллиона пользователей — по сравнению с прошлым годом их число более чем удвоилось. База знаний на StackOverflow и в нашем публичном Slack тоже растет впечатляющими темпами. И мы очень рады, что сообщество Kotlin такое отзывчивое и доброжелательное.
Нам нравится, как растет и развивается экосистема, сложившаяся вокруг Kotlin. Kotlin дружит с Google Cloud Platform [2], Spring Framework [3] и Gradle [4], не говоря уже об официальной поддержке на платформе Android [5]. Сообщество open source создает превосходные библиотеки, такие как RxKotlin [6], mockito-kotlin [7], TornadoFX [8], Kodein [9] и ΛRROW [10]. Уже переходят на Kotlin или планируют миграцию такие проекты, как Square's Okio [11] и LibreOffice [12]. Приглашаем всех присоединяться к экосистеме Kotlin со своими идеями и проектами.
В Kotlin 1.3 внесли свой вклад не только сотрудники JetBrains, но и многие другие люди, которые создавали пулл-реквесты, баг-репорты и поддерживали с нами всяческую обратную связь. Мы очень ценим вашу помощь в развитии Kotlin!
Корутины — это современный способ написания неблокирующего асинхронного кода, который легко понимать и удобно дорабатывать. Этот мощный инструмент можно использовать в самых разных целях — от перекладывания вычислительной нагрузки на фоновые исполнители (worker) до реализации сложных сетевых протоколов. Библиотека kotlinx.coroutines, версия 1.0 которой вошла в этот релиз, представляет собой прочный фундамент для управления асинхронными задачами в любом масштабе, включая их составление, отмену, обработку исключений и случаи, связанные с пользовательским интерфейсом.
Начните уже сегодня на kotl.in/coroutines [13]!
Kotlin/Native использует LLVM [14] для компиляции исходных кодов на 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 [15].
Перед Kotlin в явном виде поставлена задача работать на всех платформах, однако мы рассматриваем ее как предпосылку к более важной цели — использованию одного и того же кода на разных платформах. Поддержка JVM, Android, JavaScript и Native позволяет Kotlin работать с любыми компонентами современных приложений. А это дает бесценную возможность переиспользования кода и имеющихся наработок — ведь куда лучше сосредоточиться на решении действительно сложных задач, а не на реализации того же самого кода по два раза и больше. Хотя мультиплатформенные возможности в Kotlin остаются экспериментальными, версия 1.3 — это большой шаг вперед.
Вместе с Kotlin 1.3 поставляется комплект мультиплатформенных библиотек для всех повседневных задач, например: HTTP [16], сериализация [17] и управление корутинами [18]. Использование подобных библиотек — самый простой способ писать мультиплатформенный код. Кроме того, вы можете создавать и собственные мультиплатформенные библиотеки, абстрагирующие особенности определенных платформ в едином API.
Начните переиспользовать код на разных платформах уже сегодня: kotl.in/multiplatform [19].
В Kotlin 1.3 доступны инструменты разработки Kotlin/Native и мультиплатформенных проектов в средах разработки IntelliJ IDEA Community Edition, IntelliJ IDEA Ultimate и Android Studio. Во всех трех IDE можно использовать всю функциональность редактирования кода — подсветку ошибок, комплишен, навигацию и рефакторинг. В будущем мы займемся реализацией более сложных возможностей и интеграцией с коммерческими инструментами.
Ktor — наш фреймворк для взаимосвязанных приложений, реализующий весь стек HTTP с полной асинхронностью на основе корутин, — уже в бета-версии и доступен по адресу ktor.io [20].
Кроме всего вышеупомянутого в этом релизе появился целый ряд других возможностей и улучшений:
Полное описание всех нововведений можно прочитать здесь [29] (на английском языке). Также вы можете ознакомиться с журналом изменений [30] и с руководством по совместимости [31].
Мы опубликовали все видео с конференции KotlinConf 2018, на которой обсуждались главные темы Kotlin 1.3. Посмотрите вступительный кейноут, чтобы подробнее разобраться во всем самом новом и важном:
Записи всех семинаров с KotlinConf 2018 доступны на JetBrains TV [32].
Мы очень стараемся сделать изучение Kotlin легким и приятным. Для этого существует много ресурсов [33], среди которых мы хотели бы выделить следующие:
Для программистов всех уровней отличным отправным пунктом послужат вебинары по Kotlin 1.3 [1].
Как и всегда, вы можете попробовать Kotlin онлайн по адресу play.kotl.in.
Let’s Kotlin!
Ваша команда JetBrains
The Drive to Develop
Автор: advertka
Источник [41]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/297631
Ссылки в тексте:
[1] здесь: https://info.jetbrains.com/kotlin-webinars-general-subscription.html
[2] Google Cloud Platform: https://cloud.google.com/kotlin
[3] Spring Framework: https://spring.io/guides/tutorials/spring-boot-kotlin/
[4] Gradle: https://gradle.org/kotlin
[5] официальной поддержке на платформе Android: https://developer.android.com/kotlin/
[6] RxKotlin: https://github.com/ReactiveX/RxKotlin
[7] mockito-kotlin: https://github.com/nhaarman/mockito-kotlin
[8] TornadoFX: https://tornadofx.io/
[9] Kodein: http://kodein.org/Kodein-DI/
[10] ΛRROW: https://github.com/arrow-kt/arrow
[11] Square's Okio: https://github.com/square/okio
[12] LibreOffice: https://blog.documentfoundation.org/blog/2018/09/22/libreoffice-at-droidcon-vienna/
[13] kotl.in/coroutines: http://kotl.in/coroutines
[14] LLVM: https://llvm.org/
[15] kotl.in/native: http://kotl.in/native
[16] HTTP: http://ktor.io/clients/http-client/multiplatform.html
[17] сериализация: https://github.com/Kotlin/kotlinx.serialization
[18] управление корутинами: https://github.com/Kotlin/kotlinx.coroutines
[19] kotl.in/multiplatform: http://kotl.in/multiplatform
[20] ktor.io: http://ktor.io
[21] inline-классов: https://kotlinlang.org/docs/reference/whatsnew13.html#inline-classes
[22] целых чисел без знака: https://kotlinlang.org/docs/reference/whatsnew13.html#unsigned-integers
[23] Указание на субъект в выражениях when: https://kotlinlang.org/docs/reference/whatsnew13.html#capturing-when-subject-in-a-variable
[24] Контракты: https://kotlinlang.org/docs/reference/whatsnew13.html#contracts
[25] Точка входа без аргументов: https://kotlinlang.org/docs/reference/whatsnew13.html#parameterless-main
[26] Отладчик последовательностей: https://plugins.jetbrains.com/plugin/10301-kotlin-sequence-debugger
[27] улучшения скриптинга: https://kotlinlang.org/docs/reference/whatsnew13.html#scripting-update
[28] стандартной библиотеке: https://kotlinlang.org/api/latest/jvm/stdlib/index.html
[29] здесь: https://kotl.in/1.3
[30] журналом изменений: https://github.com/JetBrains/kotlin/blob/1.3.0/ChangeLog.md
[31] руководством по совместимости: http://kotlinlang.org/docs/reference/compatibility-guide-13.html
[32] JetBrains TV: https://www.youtube.com/playlist?list=PLQ176FUIyIUbVvFMqDc2jhxS-t562uytr
[33] много ресурсов: http://kotl.in/learn
[34] новый курс Светланы Исаковой и Андрея Бреслава: https://www.coursera.org/learn/kotlin-for-java-developers
[35] раннем доступе: https://www.atomickotlin.com/earlyaccess/
[36] EduTools: https://kotlinlang.org/docs/tutorials/edu-tools-learner.html
[37] сертифицированное обучение Kotlin: https://www.jetbrains.com/company/partners/kotlin/
[38] здесь: http://kotlinlang.org/docs/reference/using-gradle.html
[39] Marketplace: https://marketplace.eclipse.org/content/kotlin-plugin-eclipse
[40] странице выпуска в Github: https://github.com/JetBrains/kotlin/releases/tag/v1.3.0
[41] Источник: https://habr.com/post/428291/?utm_campaign=428291
Нажмите здесь для печати.