В прошлом году мы запустили наши первые сборки-кандидаты на выпуск GraalVM, и с тех пор мы получили много отзывов, решили десятки обнаруженных проблем, улучшили взаимодействие с разработчиками, улучшили производительность, улучшили взаимодействие полиглотов и совместимость языков с соответствующими экосистемами. Мы добавили тесты, тесты и реальные примеры в инфраструктуру сборки, чтобы обеспечить плавный прогресс. Мы получили вклад от разработчиков со всего мира и от многих крупных компаний, таких как RedHat, Alibaba, OCI computing, Pivotal и других. Мы очень благодарны за все вклады, а также за любые отзывы, которые мы получили на данный момент! Первопроходцы и первопроходцы - важные стартеры для любого нового типа технологий.

Хотя ранее мы публиковали только кандидаты на выпуск, мы считаем, что GraalVM наконец-то созрел и готов к производственному использованию. Поэтому сегодня мы официально выпускаем GraalVM 19.0. Ядро скачать содержит следующие компоненты:

Также есть компоненты, которые можно установить с помощью утилиты gu (GraalVM Updater), например:

gu install native-image

Образ GraalVM Native Image, доступный в настоящее время в качестве средства раннего внедрения, имеет невероятно быстрое время запуска, что является очень желанным качеством в сценариях развертывания облака. Многие проекты в экосистеме приняли образы GraalVM Native в качестве платформы для своих артефактов или рабочих нагрузок: Quarkus, Micronaut, Helidon - поддерживают образы в исходном коде GraalVM. Netty недавно включила конфигурацию для собственных образов GraalVM в свои артефакты, упрощая создание собственных образов для всех пользователей своих и последующих проектов. Мы также продолжаем работать в сотрудничестве с инженерами Pivotal и с нетерпением ждем поддержки нативных образов для приложений Spring.

Другие компоненты, устанавливаемые с помощью утилиты gu, - это языковые компоненты.

gu install ruby R python

Эти языки Python, Ruby и R, которые мы разрабатываем, все еще являются «экспериментальными» в этом выпуске. Мы ждем дальнейших отзывов об этих артефактах и ​​нуждаемся в дополнительной работе по стабилизации / работе сообщества.

Однако уже есть проекты, которые исследуют многоязычную природу GraalVM, например, Eclipse Vert.x, nodejvm и gKnit используют GraalVM для смешивания Java и JavaScript, Node.js и Java, а также R и Ruby соответственно. .

Управление версиями

До сих пор мы выпускали ежемесячные сборки GraalVM и продолжим вводить новшества и улучшать платформу. Однако мы понимаем, что после того, как выпуск будет доступен, сообщество будет полагаться на него больше, чем раньше.

GraalVM 19.0 будет текущим стабильным выпуском, рекомендованным для промышленного использования. Мы планируем выпускать обновления для него: GraalVM 19.1, 19.2 и так далее, хотя бы раз в квартал. Эти обновления будут включать исправления ошибок, а также улучшения стабильности и производительности, но не будут включать никаких важных новых функций. При необходимости будет опубликован разовый выпуск исправления GraalVM 19.x.1, 19.x.2 и т. Д.

В то же время мы собираемся выпускать ежемесячные бета-версии, которые расширят границы возможностей GraalVM, будут включать новые основные функции, добавят поддержку новой платформы и так далее. Например, мы планируем идти в ногу с экосистемой и регулярно выпускать выпуски с обновленными версиями платформ. Планируются сборки на основе JDK 11, а также сборки на основе Node.js 12.

Эти бета-версии помечены как «20.0-betaN», где N - увеличиваемый счетчик. Они объединятся в следующем стабильном выпуске GraalVM 20.0 в следующем году.

Сообщество

С каждым днем ​​мы видим все больший и больший интерес к GraalVM в сообществе, и мы благодарны за любой вклад. Чтобы еще больше улучшить взаимодействие с сообществом и общее управление проектом, мы проводим регулярные телеконференции. Повестка дня для звонка сообщества будет основана на сообщениях списка рассылки graalvm-dev или проблемах GitHub, которые публикуются в Твиттере с хэш-тегом #GraalVMCommunity, т. Е. Наиболее понравившиеся твиты будут в повестке дня.

Мы также будем организовывать регулярные семинары GraalVM Committer Workshops, первый из которых пройдет на Code One. Подробности мы сообщим в списке рассылки graalvm-dev.

Мы понимаем ценность GraalVM для экосистемы и хотели бы, чтобы это был отличный проект с открытым исходным кодом, который способствует участию различных участников и развивается, чтобы стать лучшей версией самого себя для всех участников.

Предприятие

В дополнение к выпуску GraalVM 19.0 Community Edition существует также GraalVM 19.0 Enterprise Edition, доступная от Oracle. Он предоставляет еще больше возможностей для повышения производительности и поставляется с коммерческой поддержкой. См. Объявление в блоге об этом как об официальном продукте здесь. Мы стремимся улучшить все версии GraalVM и считаем, что наличие поддерживаемого коммерческого продукта увеличивает ценность всей экосистемы. Это дает компаниям возможность получить стабильное предложение с долгосрочной поддержкой и помогает финансировать довольно существенные разработки ядра.

Перспективы

Команда GraalVM стремится сделать GraalVM лучшей в своем классе средой выполнения для всех поддерживаемых языков. Это амбициозная цель, и это, безусловно, потребует времени, но мы знаем, что прямо сейчас GraalVM можно использовать в производственной среде и предлагает преимущества во многих сценариях. Мы сами используем GraalVM для наших развертываний Java, Twitter использует его для ускорения микросервисов Scala, инженеры Goldman Sachs оценивают миграцию своего внутреннего языка программирования на GraalVM, команда инженеров Wix экспериментирует с Java и Node. js polyglot applications , а также есть облегченный Native Clojure . Нам известно о других проектах или компаниях, использующих GraalVM, и мы с нетерпением ждем возможности услышать их истории публично!

Иди скачай GraalVM и создавай!

Невероятно счастливая и взволнованная команда GraalVM