Вышла новая версия Kotlin/Native 0.8
Новости
Особенности релиза позволяют использовать его на iOS-устройствах прошлых лет, улучшает многопоточное программирование и расширяет использование библиотек Kotlin.
2К открытий2К показов
Команда проекта Kotlin/Native представила релиз версии 0.8. Исправления и дополнения коснулись безопасности многопоточного программирования, расширения функциональности библиотек и поддержки устройств iOS. Также исправлены баги и проведена оптимизация.
Параллелизм
Реализована концепция замораживания объектов. Например, код:
считает файл конфигурации и позже получит свойство Config.width
. Сам файл Config
делится для любого количества потоков или воркеров. После публикации объект замораживается и любая попытка его изменения приведёт к генерированию исключения (InvalidMutabilityException
).
Второй особенностью, характерной для параллелизма в проекте Kоtlin/Native, являются неделимые значения и ссылки. Можно расширить конфигурацию и добавить, к примеру, иконку:
Вся информация об иконке в AtomicReference
заморожена. Любые изменения неделимы и каждому клиенту видны схожие данные.
Библиотеки Kotlin
Стандартная библиотека (kоtlin.*) с этого момента совместима с другими платформами. Стандартный генератор чисел и функция перемешивания коллекции призваны избавить от использования заточенных под определённую платформу API. В качестве эксперимента проект поддерживает и другие библиотеки, например, kotlinx.coroutines
, kotlinx.serialization
, а также клиент Ktor HTTP.
Изменения для iOS-устройств
Устранены проблемы с публикацией в App Store и инициализацией платформы. Добавлена поддержка 32-разрядной ARM-архитектуры процессоров iOS, что позволяет использовать Kotlin/Native на старых устройствах от Apple.
В апреле 2018 года появилась возможность запускать и изменять код прямо на веб-странице.
2К открытий2К показов