Рубрики
Без рубрики

Как создавать Java-приложения Сегодня: 31 мая 2021 года

TL; Доктор OpenJDK от Microsoft официально выпустил новую облачную базу данных FaunaDB, continuo… Помеченный java, bpf.

Как создавать Java-приложения Сегодня (Серия из 29 частей)

TL;ДР

Официально выпущенные сборки OpenJDK от Microsoft, новая облачная база данных FaunaDB, непрерывное тестирование в Quarkus 2.0, Jakarta EE 9.1, GraalVM 21.1 и интеграция Spring для AWS 2.5.

ПРОЧИТАЙ МЕНЯ

Это выпуск 38 моего еженедельного информационного бюллетеня “Как создавать Java-приложения сегодня”. ” Новости Java с улыбкой”: Я читаю все информационные бюллетени Java, так что вам не нужно!

Если вам нравится моя рассылка новостей, то подпишитесь на нее в разделе , прочитайте ее на dev.to или Кафе “Ява” ! Еще лучше: поделитесь им с людьми, которые могут быть заинтересованы.

Цитата недели

Чтение для ума – то же самое, что физические упражнения для тела. Ричард Стил , ирландский писатель (1672-1729) , конечно, не говорил о Facebook или Twitter.

Стендап

Сегодня в США День памяти и Весенние банковские каникулы. Так что я надеюсь, что вам понравится ваш выходной! Здесь, в Милтон-Кейнсе ( недалеко от Лондона ), температура составляет 22 градуса по Цельсию или 72 градуса по Фаренгейту. Или, как это известно здесь, в Великобритании: жара. Послушайте, ребята, извините, но там, откуда я родом (Германия), жара начинается с 30 градусов по Цельсию/86 градусов по Фаренгейту.

Мое недавнее выступление в JJUG CCC Весна 2021 года сейчас на YouTube . Таким образом, менее чем за 40 минут (или 20 минут с двойной скоростью) вы можете узнать, как мы, разработчики Java, должны создавать новые веб-приложения и собственные приложения для iOS и Android сегодня и что мы должны делать на рабочем столе. Если вам нравится то, что вы увидели, на моей странице обсуждения есть больше видео, дополнительная информация и ссылки для начала.

Я также узнал на прошлой неделе, что W-ДЖАКС Мюнхен принял два моих выступления. W-JAX – это гибридная конференция по Java, архитектуре и инновациям в области программного обеспечения (8-12 ноября). Итак, с какими докладами я должен выступить? Узнайте в моем блоге ! Бесстыдная наживка на щелчки, я знаю…

Книжные закладки

Ява

Microsoft OpenJDK Строит Официально Выпущенный

На прошлой неделе я писал о том, почему у Microsoft есть собственный дистрибутив OpenJDK: бэкпорты и доверие (см. Раздел с подходящим названием “Причины Microsoft для Собственного JDK: Бэкпорты и доверие” в выпуске 37 ). Теперь, когда дистрибутив OpenJDK вышел из бета-версии, мы можем загрузить его в Microsoft для Windows, macOS и Linux. Или мы можем использовать Изображения контейнеров Docker .

На данный момент Microsoft выпустила в производство только сборки Java 11. Сборки Java 16 находятся в раннем доступе, дата выпуска не указана. Только время покажет, как быстро Microsoft опубликует свои сборки после того, как Oracle выпустит новую версию Java (например, предстоящую Java 17).

Как я уже говорил, Google в настоящее время является единственным крупным поставщиком облачных услуг, не имеющим собственного дистрибутива Java. Однако несправедливо винить их в этом, поскольку еще два месяца назад они были втянуты в судебный процесс по Java с Oracle. Но они выиграли (см. Раздел “Google выигрывает судебное дело Java против Oracle” в выпуске 30 ). Время также покажет, действительно ли Google больше заинтересован в изобретении новых языков программирования, чем в “переодевании” существующих (например, Java).

Наконец, время точно покажет, что вам не следует дважды использовать одну и ту же избитую фразу в одной и той же статье.

Сообщение в блоге с объявлением

Фреймворки и библиотеки

FaunaDB – Новая “Облачная база данных Кухонной Раковины”

При выборе технологий для наших Java-приложений “Выберите что-нибудь скучное” – хорошее эмпирическое правило. Это означает переход на устоявшиеся технологии с широкой базой пользователей, которые уже преодолели все проблемы, с которыми мы можем столкнуться. Вы знаете, чтобы Google и Stack Overflow могли быстро дать нам ответы! И нигде это не проявляется так верно, как в хранении данных: если наша база данных искажает наши данные, нас закрывают. К счастью, есть MySQL и PostgreSQL, а также множество хранилищ данных NoSQL – и это только сторона с открытым исходным кодом.

Итак, как вы запускаете новую коммерческую базу данных в этой среде? Давайте посмотрим на FaunaDB в качестве примера.

Шаг первый: Вы добавляете в свой продукт все, кроме кухонной раковины : Реляционное хранилище и хранилище документов, транзакции ACID и глобальное распределение в облаке, триггеры и хранимые процедуры, GraphQL, встроенные временные запросы для аудита и встроенная многопользовательская аренда. Большой недостаток: мы должны использовать “Язык запросов FaunaDB”, потому что SQL не попал в этот приемник. Так на что же похож FDB?

В отличие от SQL, FQL не декларативный, а “ориентированный на выражение” . A ВЫБЕРИТЕ * ИЗ отдела, ГДЕ; в SQL превращается в два выражения FQL. Во-первых, мы должны создать индекс:

CreateIndex({
  name: "all_depts",
  source: Collection("dept")
})

Затем мы можем запросить этот индекс:

Map(
  Paginate(
    Match(Index("dept_by_deptno"), 10)
  ),
  Lambda("X", Get(Var("X")))
)

Что ж, любовь с первого взгляда – это не так. Но тогда я старый пес, это новый трюк, и вы знаете, что они говорят об этих двоих.

Давайте вернемся к FaunaDB. Второй шаг в их плане мирового господства: вы заявляете, что ваш продукт сам по себе относится к новой категории. Естественно, это лучший (и единственный продукт) в этой категории и избегает непосредственных сравнений со всем, что было раньше: существовали реляционные базы данных, а в 2010-х годах наблюдался рост NoSQL. Но сейчас самое время для FaunaDB, “облачной базы данных” (мои слова, а не их). Ну, может быть.

Шаг третий: Вы упоминаете в каждом втором предложении, что люди, стоящие за FaunaDB, работали в Twitter. Серьезно, послушайте это интервью подкаста с одним из основателей. Если бы моя игра в выпивку заключалась в том, чтобы выпивать рюмку каждый раз, когда я слышу “Твиттер”, я бы потратил впустую половину подкаста! Но я бы сделал то же самое, если бы был на их месте: они продают новую базу данных , чувак, поэтому им приходится “заимствовать полномочия” в любом случае, они могут!

Послушайте, у FaunaDB определенно есть некоторые заманчивые особенности. Но это противоположность скучной технологии. Итак, стоит ли нам его использовать? Как правило, нет. Но в мире микросервисов, безусловно, проще попробовать в небольшом микросервисе вон там, в углу…

Домашняя страница FaunaDB

Непрерывное тестирование в Quarks 2.0

Как вы соревнуетесь с 800-килограммовой гориллой? Этот вопрос должен быть в головах команды Кварков . В “Отчете о технологиях Java JRebel 2021” доля рынка Spring Boot составила 62%, а Quarkus – 6% (см. Одноименный раздел в выпуске 27 ). И самое большое отличие Quarkus – небольшие и быстрые собственные образы для программ через GraalVM – вероятно, исчезнет в ноябре этого года с Spring Boot 3 (или как бы это ни называлось – см. Раздел “Империя наносит ответный удар: Объявлена бета-версия Spring Native”, также в выпуске 27 ).

Один из ответов – “Радость разработчика” (указан как причина 3 из 3 на домашней странице Quarks ). В качестве примера возьмите время между “Я изменил свой код” и “Выполняется мой измененный код”. Весенний ботинок не доставляет нам там особой радости: У него есть агент горячей перезарядки, но не очень способный. Поэтому я плачу за лицензию JRebel из собственного кармана, потому что это избавляет меня от множества перезапусков весенней загрузки.

Итак, знаете ли вы, что кварки могут даже горячая перезагрузка внутри модуля Kubernetes ? Это позорит Весенний ботинок! Почему Кварки не кричат об этом с горных вершин и со своей домашней страницы? Превосходит меня.

Теперь Кварки доставляют нам, разработчикам, еще больше радости. По крайней мере, те, у кого есть модульные тесты. Я знаю, у всех нас должны быть модульные тесты. Мы также должны есть брокколи и зубную нить каждый вечер, но мы этого не делаем. В любом случае, если у вас есть модульные тесты, то Quarkus 2.0 (ожидается к середине июня) делает это : “Ваш набор тестов будет запущен один раз в начале, а затем непрерывное тестирование будет запускать ваши тесты по мере написания кода и сообщит вам, нарушат ли ваши изменения какие-либо тесты”. Радость всему миру!

Я думаю, что это умный ход Кварков. Они не могут переинтегрировать Spring Boot, потому что все интегрируются с Spring Boot. Поэтому они выбирают несколько вещей, которые они могут сделать проще в своей новой базе кода, чем Spring Boot. В конце концов, Spring framework уже 17 лет . Удачи, ребята! Я надеюсь, что вы получите Spring Boot для улучшения их игры – так что когда-нибудь мне больше не придется платить за лицензию JRebel! 😌

Статья

Освободить

Джакарта EE 9.1

Джакарта EE была запущена в конце прошлого года (либо в ноябре, либо 8 декабря – не спрашивайте ). Итак, что нового в 9.1?

Два слова: Java 11. Первоначально Jakarta EE 9.0 должна была поставляться с этим, но эта функция была отменена до выпуска в 2020 году . Убедитесь сами: В веб-профиле Jakarta EE 9.0 перечислены те же версии API, что и в веб-профиле 9.1 .

Уважаемая команда Jakarta EE: Я знаю, что последние несколько лет у тебя была полная тарелка. Сначала вы подрались с юристами Oracle из-за товарного знака “Java EE” и проиграли . Затем вы поселились в Затмении и переименовал пакеты из javax. в Джакарту. . А затем вы удалили поддержку Java 11 из своей системы. Но теперь я думаю, что вам наконец-то следует добавить несколько новых функций! Как еще ты собираешься конкурировать с Spring Boot, Кварками и всеми остальными ребятами? Помните, как “Отчет о технологиях Java JRebel 2021” бросил вас в корзину “Другие фреймворки” (см. выпуск 27 )? Ой! Так что отряхнись от пыли и доставь! Весенний ботинок может использовать еще немного конкуренции. Возможно, я не скажу вам здесь ничего нового, но я просто хочу быть в безопасности.

Статья

ГРААЛЬВМ 21.1

В этом техническом выпуске имеется экспериментальная поддержка Java 16. Node.js теперь это необязательная зависимость, ошибки были исправлены, и теперь все, как правило, стало быстрее и лучше. Я же говорил тебе, что это всего лишь технический релиз!

Статья

Интеграция Spring для AWS 2.5

Этот проект не является частью Spring Cloud больше, но имеет свою собственную организацию .” aspiring.io “? Я не могу решить, является ли новое имя милым (“О-Весна!”) Или орфографической ошибкой (в “AWS Spring” есть две буквы “s”). Список изменений действительно невелик – переход на Spring Integration 5.5 является самым большим изменением.

Объявление

О

Карстен Силц является автором этого информационного бюллетеня. Он является полнофункциональным веб- и мобильным разработчиком с 22-летним опытом работы на Java, автором, докладчиком и предпринимателем. Карстен получил степень магистра компьютерных наук в Дрезденском технологическом университете (Германия) в 1996 году.

Карстен стал соучредителем стартапа по разработке программных продуктов в США в 2004 году. Он руководил разработкой продуктов в течение 13 лет и ушел после того, как компания была успешно продана. Он стал соучредителем британского стартапа SaaS ” Ваш дом в надежных руках ” в качестве технического директора в 2020 году.

У Карстена есть этот информационный бюллетень , веб-сайт разработчика и сайт подрядчика . Он в LinkedIn , Twitter и GitHub . Карстен является автором в Info .

Как создавать Java-приложения Сегодня (Серия из 29 частей)

Оригинал: “https://dev.to/ksilz/how-to-build-java-applications-today-may-31-2021-8h6”