Java-дайджест #84

Groovy word typography style illustration

Этот дайджест взаимодополняет выпуск подкаста «Разбор Полётов». На этот раз в студии были Алексей Абашев и Олег Чирухин.
Получить запись подкаста можно либо пройдя по ссылке на сайт РП, либо скачав MP3-файл.

  • Groovy вернулся в TIOBE TOP-20 и даже обогнал Swift. Есть подозрение, что все это благодаря распространению Jenkins;
  • Вышел новый джавовый фреймворк Kalium. Он заточен на асинхронную обработку событий с помощью аннотации @On и собственной масштабируемой очереди событий, коей на данный момент может служить только Kafka:
  • 29 февраля старые форумы Spring закроются. Бэкапить они их не собираются, надо — юзайте archive.org. Но они озаботились, чтобы данные из тех постов, на которые были ссылки из багтрекера, были перенесены в соответствующие тикеты так или иначе.
  • Вышли новые версии React и Vue. В реакте запилили хуки, а вью получило одно из немногих мажорных обновлений второй версии (сейчас все усилия сконцентрированы на дизайне третьей версии). У Ангуляра напротив случилась четвертая бета восьмой версии, — в седьмой версии бет было 8 штук, так что это можно считать половиной пути.
  • Вышла IntelliJ IDEA 2019.1 EAP3, про фичи есть подробный пост Златы. Если кому-то интересно проследить историю разработки, то имеется пост про предыдущий EAP2. Из того, что сразу бросается в глаза — отдельные сборки с JetBrains Runtime 11. Еще они пообещали выбросить из следующего EAP плагины интеграции с TFS и СVS по дефолту — пора мамонтам упокоиться.
  • Теперь у нас есть GlassFish 5.5.0 (+WebProfile). Напоминаю, что в начале 2016 года поползли слухи, что Oracle решила забросить JavaEE, а в августе 2017 это случилось официально, что привело к переезду под крыло Eclipse Foundation с названием проекта EE4J. В 2018 году проект стал переползать в репозиторий eclipse-ee4j на GitHub, и вот мы сейчас находимся в 2019, когда этот процесс перехода почти завершился. Теперь весь код GlassFish можно собрать на инфраструктуре Eclipse, плюс этот код прошел все тесты на совместимость с Java EE 8. Выход новой версии GlassFish означает последние шаги к реализации Jakarta EE 9.
  • Еще одна нереляционная база данных засунула в себя реляционные механизмы — на этот раз FoundationsDB, разработанная в недрах Apple. Несмотря на то, что это изначально key-value база в архитектуре share nothing, предназначенная для облаков. Теперь есть некий Record Layer, где рекорды — это сообщения протобуфа, также имеются индексы (включая продвинутые индексы вроде групповых счетчиков или полнотекстовых индексов) и полноценный планировщик запросов. Поверх этого они запилили подмножество MongoDB API 3, которое выделили в отдельный Document Layer. Все это уже используется в продакшене в эппловском CloudKit. Интересный тренд.
  • Google объявили, что их NoSQL база данных Firestore вышла в релиз. Фича еще и в том, что у нее много дата-центров по всему миру (в России — нет). Она обеспечивает SLA 99.999% для multi-region инстансов и and 99.99% для regional инстансов. Некоторые куски веб-интерфейса всё ещё в бете.
  • В двенадцатый Java Stream API добавят новый коллектор, teeing. Он позволяет собирать двумя независимыми коллекторами, и потом объединять результаты:Также не надо забывать, что коллекторы можно делать самостоятельно:Делать такое вручную «красивым» спомобом было бы весьма болезненно. Подробней прочитать можно как всегда, в багтрекере.
  • Седьмого февраля вышел JUnit 5.4.0. Это очень интересный релиз, на который, возможно, стоит уже переходить. Они заморочились с разными мелкими блокирующими переход вещами, вроде того, что новый артефакт junit-platform-reporting содержит LegacyXmlReportGeneratingListener, который теперь генерит репорты, совместимые с JUnit 4. Подробнее есть в ченжлоге.
  • Прошел FOSDEM 2019 — крупнейшая в мире FOSS-конференция. Некоторые доклады Java-трека уже выложены на сайте.
  • Вышла первая в мире Kubernetes-native IDE от RedHat, CodeReady Workspaces. Заточена на использование вместе с Red Hat OpenShift, Red Hat’s Docker/Kubernetes platform и Red Hat Enterprise Linux (RHEL).
  • Разработчики Clojure провели очередной ежегодный опрос комьюнити. Результаты можно посмотреть здесь. Есть ложь, а есть статистика, поэтому не буду делать здесь никаких выводов, смотрите на результаты сами. Голосовало 2461 человек — вам решать, много это или мало.
  • Вышла книга «Spring. Все паттерны проектирования», автор — Динеш Раджпут, издательство Питер.
  • Вышел Gradle 5.2. Из интересного — сборка нативных приложений (C++ итп), плюс возможность описать настройки в Java Platform Plugin — это что-то типа мавеновского BOM, где можно описать ограничения:
  • Релизнулся Amazon Corretto 8 — LTS дистрибутив OpenJDK от амазон с патчами на перфоманс и секурити.
  • Открылись репозитории JDK 13. Пока что есть только JEP 348, он примерно о том, что некоторые методы можно помечать как кандидаты на интринсификацию.

Почитать

Хабр

Дайджест готовили

  • Текстовая версия: Олег Чирухин;
  • Подкаст «Разбор Полётов» (ссылка на запись): Виктор Гамов, Барух Садогурский, Алексей Абашев, Антон Архипов, Андрей Когунь и Олег Чирухин.