Обновление Kotlin версии 1.3.

Добавлен API длительности и времени.

Nikita Goncharuk
The Code Times

--

Несмотря на то что релиз версии 1.3 прошел еще 29 октября прошлого года, команда JetBrains и более 1.5 миллионов пользователей регулярно дорабатывают язык с помощью пулл-реквестов, баг-репортов и емкой обратной связи разработчикам.

Базовая, стартовая версия 1.3 Kotlin запомнилась программистам со всего мира обновленной и гибкой моделью мультиплатформенных проектов с упрощенной системой взаимодействия. Кроме того, в версии 1.3 общие и специфические коды уже не нужно разбивать по разным модулям, а конфигурации зависимостей прописываются отдельно для всех исходящих корневых узлов. Также в современной версии Kotlin была запущена тестовая функция — контракты. Она позволяет описывать поведение таким образом, чтобы это понял компилятор: с улучшенным анализом смарт-трансляций и улучшенным анализом инициализации переменной.

В целом, в выпуске 1.3 много новых плюшек: встроенные классы, целочисленные беззнаковые, копирование элементов одного массива в другой, поддержка стиля в IDE, упрощенная форма main без параметров, захват предмета when в переменную и прочее.

Актуальная версия языка, как «улучшенного аналога Java», которая вышла 29 августа, теперь включает API изменения продолжительности и времени. Кроме того, в «осенней» Kotlin 1.3 также улучшили конвертер с Java.

Как считают разработчики, 1.3 с дополненным функционалом даст возможность избежать ряда ошибок, которые характерны при передаче данных в неверный блок. До сих пор, пока API получал информацию о длительности в примитивном значении (как Long, например), происходила ошибочная передача значений в некорректных единицах, что было невозможно предотвратить системой типов. Теперь бета-версия API позволяет менять длительность в любых единицах.

Второй особенностью обновленной версии 1.3 является конвертер, задача которого — минимизировать количество “red code”, а значит, сократить время на ручное форматирование после обработки. Так как преобразователь практически каждый раз генерирует нулевой тип, такая обработка может стать причиной ошибок в момент выполнения из-за несовпадений типа Nullable. Обновленный Java-to-Kotlin должен верно выводить обнуляемость на базе Java-типов в элементах кода, а также исправлять ряд ошибок (вроде некорректной обработки).

Среди других новшеств версии 1.3: экспериментальные внешние объявления в Gradle Kotlin / JavaScript для npm-зависимостей, особый плагин для настройки кода Kotlin/Native code in IntelliJ IDEA Ultimate, наличие компиляции JS в мультиплатформенных проектах.

Язык с открытым исходным кодом, который так активно продвигает Google в качестве основного для Android, стал практически ведущим на нишевом рынке с 2017 года. Его ключевая фишка — снижение потребности у программиста в длинных цепочках и элементах кода.

2 года подряд Kotlin входит в ТОП-20 рейтинга языков программирования от RedMonk.

Как отметили в отчете аналитической компании в конце марта, Kotlin наравне с TypeScript признан самым быстрорастущим языком по используемости и интересу среди разработчиков.

В своей речи на KotlinConf 2018, Андрей Бреслав, ведущий дизайнер Kotlin отметил и повышение популярности языка, например, в размещенных вакансиях на Dice.

Как говорит Стивен О’Грэйди, который написал аналитическое двухгодичное пособие по языкам, рост Kotlin стал вторым по скорости после Swift за всю историю рейтинга RedMonk. А значит, скоро стоит ожидать новых прорывов.

Можно ли назвать новшества версии 1.3 прорывами? Покажет время. Но уже сейчас многие ресурсы наперегонки друг с другом выкладывают пособия, включающие работу с последними фишками Kotlin 1.3.

А как вы относитесь к Kotlin и насколько часто применяете этот язык в своей работе?

--

--