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

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

TL; Отчет о экосистемах DR snyk JVM 2021, инструментарий пользовательского интерфейса Google Flutter 2.2, Eclipse IDE получает… С тегом java, bpf.

TL; ДР

экосистемы sun JVM Сообщают о 2021 году, инструментарий пользовательского интерфейса Google Flutter 2.2, среда разработки Eclipse получает рабочую группу, Eclipse 2021-06, Spring Native 0.10.0, Keycloak 14.0.0 и WildFly 24.

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

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

Если вам нравится моя рассылка новостей, то подпишитесь на нее в Substack ! Или прочитайте это дальше dev.to , кафе Java/|, или Среда . Еще лучше: поделитесь им с людьми, которые могут быть заинтересованы.

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

Идеализм – это то, что предшествует опыту; цинизм – это то, что следует за ним. Дэвид Т. Вольф , американский писатель ( родился в 1943 году ), может быть немного резким. Разве у нас не может быть реализма следования?

Стоячий

В прошлую среду я выступил с 40-минутным докладом на конференции на тему “Быстрее выбирайте технологии и инструменты, кодируя с помощью JHipster”. Он на немецком языке, и он находится за платной стеной. Я предполагаю, что это определение “недоступно” для большинства моих читателей. Я надеюсь, что осенью у меня будет несколько кувшинов, так что в нашем будущем может появиться общедоступная английская версия этого выступления!

Проверка кода

Выпуск 39 от 14 июня 2021 года

Prosus покупает StackOverflow

Прошлая неделя Я написал об отключении Интернета, из-за которого переполнение стека отключилось на добрый час. Но StackOverflow остается в новостях: Всего два дня спустя сообщение в блоге попыталось успокоить нас, обеспокоенных разработчиков. В этом посте выделяются три обещания: отсутствие платного доступа к контенту сообщества, отсутствие ограничений на копирование и вставку, отсутствие излишней рекламы. Посмотрим.

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

Ява

Отчет об экосистемах СП snyk за 2021 год

Второй из двух “Какие технологии мы, разработчики Java, используем? ” отчеты здесь: 62 % разработчиков используют Java 11 в производстве, 25 % даже Java 15, AdoptOpenJDK лидирует с 45 %, загрузка Spring составляет 58 %, Kotlin – второй по популярности язык JVM, IntelliJ IDEA в 3 раза популярнее, чем Eclipse или VS Code, а Maven используется в два раза чаще, чем Gradle.

Прежде чем мы углубимся в детали: Мы не можем сравнить цифры этого года с данными за прошлый год , потому что опрос позволил получить несколько ответов в этом году. Но данные свежие: Опрос проводился в течение шести недель в феврале и марте 2021 года. Не спрашивайте меня, почему на публикацию ушло три месяца.

Самым большим сюрпризом является то, что 62 % используют Java 11 в производстве и “только” 66 % используют “Java 8 и старше”. В “Отчете о технологиях Java JRebel 2021” (см. Раздел с тем же названием в выпуске 27 ) говорится, что только 36 % используют Java 11, а 84 % используют “Java 8 и старше”. Это было основано на 876 ответах с августа по ноябрь прошлого года. Откуда берется эта разница?

Я не думаю, что полгода (февраль/март против Август-ноябрь) имеет большое значение. Для меня все сводится к опросам. Опросы – это сложно, даже если вы занимаетесь этим десятилетиями. Просто посмотрите на последние два президентских выборов в США в качестве примера. И даже если вы спросите 2000 случайно выбранных, идеально репрезентативных людей, вы все равно получите ошибку +/-2,2% . И я думаю, что ни в одном из этих двух опросов не было задано “идеально репрезентативных разработчиков Java”. Что это вообще такое?! И это глобальные исследования, которые усложняют все на порядок или два.

Просто посмотрите на номера версий Java из отчета JRebel: Java 8 увеличилась с 58 % в 2020 году до 69% в 2021 году, “Java 7 или старше” выросла с 7 % до 15%. Я не думаю, что мы наблюдаем увеличение Java 8 или старше в дикой природе. Я считаю, что мы наблюдаем плохие опросы.

Мы не можем напрямую сравнивать номера фреймворков между двумя отчетами, потому что JRebel запрашивал только основной проект. Но мы можем сравнить рейтинг: JRebel поместил Java/Jakarta EE в “Другое” ведро (17%) и объявил DropWizard (9%) вторым после Spring (62%). snyk делает Java EE (24%)/Jakarta EE (13%) вторым и ставит DropWizard на ничтожные 4%. snyk даже различает Spring Boot (58 %) и Spring MVC (29%) и делает Quarkus лидером “пакета Hip Framework, преследующего Spring Boot” (11%).

AdoptOpenJDK имеет 44 % доли рынка JDK; его адаптация к воплощению Eclipse уже составляет 1,3 % в этом отчете (см. Раздел “AdoptOpenJDK Получает рабочую группу Eclipse и доступ к TCK” в выпуск 29 . Далее следует Oracle OpenJDK на уровне 28%, за которым следует Oracle “Не-OpenJDK” на уровне 23%. Третье место среди дистрибутивов OpenJDK занимает Azul с 16 %.

Неудивительно: Java – самый популярный язык JVM с 91 %. Котлин занимает второе место с 18 %, Заводной третий с 13%. Ты знаешь, что Groovy, который в 3,5 раза популярнее Kotlin в индексе TIOBE (см. последний выпуск ). Вздох.

Идея IntelliJ доминирует с 72%, Eclipse занимает второе место с 25%, а Visual Studio Code имеет сильные 23%. Каждый второй разработчик использует более одной интегрированной среды разработки, каждый четвертый разработчик – четыре или более. Ребята: Я надеюсь, что кто-нибудь силы |/вам нужно использовать четыре разные идеи! Я не могу себе представить, почему я бы хотел это сделать…

Инструменты сборки – это последняя остановка здесь: 76% используют Maven, 38% – Gradle – обычное разделение 2:1. Мои соболезнования тем 12 %, которые все еще используют Ant.

Дорогой сник, дорогой Джребел! Каждый год вы проводите опросы, спрашивая нас, разработчиков Java, о технологиях и инструментах, которые мы используем. Мы любим читать эти результаты! Но опросы – это сложно, и у тебя это плохо получается. И вы уже знаете ответы на наши самые насущные вопросы. Ты, сник, сканируй наши файлы сборки : Итак, вы знаете, какие фреймворки мы используем и какие инструменты для сборки. А ты, Джребел, продай классный загрузчик : Вы также знаете, какие фреймворки мы используем – и какие версии Java и какие дистрибутивы Java сверху. Поэтому, пожалуйста, перестаньте задавать нам эти вопросы и вместо этого включите в свои инструменты опцию “Анонимно обмениваться данными с поставщиком”. Спасибо!

отчет snyk

Через забор

Инструментарий пользовательского интерфейса Google Flutter 2.2 Претендует на кросс-платформенную корону

Я думаю, что Кроссплатформенный инструментарий пользовательского интерфейса Google Flutter – лучший способ для разработчиков Java создавать собственные бизнес-приложения на iOS и Android. Google утверждает, что сейчас он также самый популярный. Версия 2.2 – это релиз с исправлением ошибок и стабилизацией.

Я бесстыдно отрываюсь здесь, написав о статье, которую я опубликовал сегодня на InfoQ. И да, я вставил в заголовок ” 2.5 аллитерация “. 😁 Даже “больше rip-some”: Я часто говорю о том, как разработчики Java должны создавать интерфейсы с помощью Flutter, совсем недавно на конференции в Японии .

Но я действительно думаю, что Флаттер это лучший способ для нас Разработчики Java будут создавать собственные приложения для iOS и Android уже сегодня.

Но не трепещет использование Дротик ? Мы не хотим изучать другой язык! Я согласен – но это Дротик:

class MyClass extends AnotherClass {
  String myString;
  int myInt;
  List myList = new List();

  String sayHello(String name) {
    var feedback = "Hello, " + name;
    return feedback;
  }
}

Чертовски похоже на Яву, не так ли? Только новый список<Строка() не компилируется в Java.

Теперь Flutter не использует собственные элементы пользовательского интерфейса, а вместо этого эмулирует их. Но я думаю, что этого достаточно для наших бизнес-приложений для iOS и Android. И вы устали ждать перезагрузки вашего приложения Angular или сервера загрузки Spring? Изменения кода флаттера происходят менее чем за секунду. Смотрите сами в моем коротком видео !

Итак, что Google анонсировал для Flutter 2.2?

Вы можете сказать, что многие люди все еще спрашивают: ” Когда Google убьет Flutter? “. Почему? Потому что половина объявления о выпуске рекламирует Flutter о том, что сейчас это самый популярный фреймворк, и как все эти замечательные компании используют Flutter для всех этих замечательных приложений, и как замечательные компании даже переносят Flutter в новые среды. Посмотрите на объявление Google Angular 12 неделей ранее для контраста: никаких ударов в грудь, никаких упоминаний имен, только то, что есть в новом выпуске.

Честно говоря: в Flutter 2.2 не так много нового. Это множество исправлений ошибок, оптимизация производительности и некоторые новые функции, о которых мы, вероятно, не заботимся в наших корпоративных приложениях (реклама Google, покупки в приложении и оплата в приложении). Это хорошо, на мой взгляд, – недавно Flutter добавил много функций, так что некоторая очистка приветствуется.

Так что, если вам интересно узнать о Flutter, вы можете утолить эту жажду, посмотрев 16 минут моего выступления – или 8 минут с двойной скоростью ( ссылка на YouTube с отметкой времени ). Я сравниваю Flutter с React Native и рассказываю вам, что мне понравилось и не понравилось в использовании Flutter в моем текущем проекте. И на моей странице обсуждения есть ссылки, чтобы вы начали .

Моя Статья InfoQ , моя “Интерфейсы для разработчиков Java” говорить

Инструменты

Среда разработки Eclipse IDE Получает Рабочую Группу

Если вы являетесь проектом Eclipse, то вам не обойтись без рабочей группы. Принятие, “версия Eclipse для AdoptOpenJDK”, получила ее еще до того, как она была создана в Eclipse (см. Раздел “AdoptOpenJDK Получает рабочую группу Eclipse и доступ к TCK” в выпуске 29 ). МикроПрофиль отложил выпуск версии 4.0 почти на полгода чтобы установить его. Итак, как дела у рабочей группы Eclipse IDE в эти дни?

Великолепно, потому что он был только что создан ! Да, у IDE Eclipse, у которой был первый выпуск в Eclipse Foundation 17 лет назад никогда не было рабочей группы! Как они функционировали все эти годы? Откуда они знали, что делать? Являются ли некоторые проекты Eclipse более равными, чем другие ?!

Справедливости ради: Проект Eclipse IDE начался в IBM за годы до создания Eclipse Foundation в январе 2004 года . Так что фонд, вероятно, позволил “рабочей группе” соскользнуть в первый год. Или, может быть, тогда это даже не требовалось. И почему-то тема “рабочей группы” больше никогда не поднималась в течение 16 лет ! Я вижу, как ребята из МикроПрофиля тихо плачут, когда читают это…

Объявление

Освободить

Затмение 2021-06

Давайте остановимся на Eclipse: есть еще один ежеквартальный выпуск. И, как и в любом другом выпуске Eclipse IDE, который я имел “удовольствие” осветить, примечания к выпуску представляют собой чертов огонь из мусорных контейнеров с разрозненными ссылками . Некоторые выглядят так это 1995 год , некоторые вообще потеряли ссылки , некоторые не знают, что зачеркнутый текст трудно читать , некоторые выглядят как затмение , а некоторые нет .

Если ребята из Eclipse не могут побеспокоиться о том, чтобы раз в квартал разбираться с этим бардаком, то я тоже этого не делаю. На главной странице говорится, что Eclipse теперь поддерживает Java 16 и Mac M1 от Apple и улучшает инструменты Java и терминал. Остальное зависит от вас (читать). Удачи!

Страница проекта

Весенний Родной 0.10.0

Spring Native использует GraalVM для превращения приложений Spring Boot в небольшие собственные образы, которые быстро загружаются. Нам нужны Spring Boot 2.5 и GraalVM 21.1, чтобы опробовать его.

Эта версия делает счастливой треть всех разработчиков Java, которые используют Gradle: Spring Native теперь работает с Gradle! Он также может теперь запускать тесты и обрабатывать прокси-серверы в классах для заблаговременной компиляции с помощью GraalVM.

И, как любят отмечать поклонники Spring Boot в команде Quark : Spring Native нужно еще немного времени, чтобы испечь в духовке! Spring Boot использовал 126 МБ в одном из своих тестов при компиляции изначально – против 15 МБ для кварков. Даже в “интерпретируемом режиме JVM” кварки использовали меньше памяти (115 МБ)!

Объявление

Маскировка ключей 14.0.0

Это было быстро: через шесть недель после версии 13.0.0 (см. выпуск №36 ) выходит версия 14.0.0. Обновление: Keycloak дает нам OAuth 2.0 и OpenID Connect для аутентификации, LDAP и Active Directory для этого “ощущения предприятия”, и ” социальные логины ” для Google, Facebook, GitHub, Twitter и многого другого.

Как мы и ожидали, за эти шесть недель они мало что добавили. Keycloak теперь официально поддерживает API финансового уровня (API) и улучшенное управление профилями пользователей и автономные сеансы. Полный список проблем находится в JIRA .

Объявление

Дикая муха 24

Мы все запускаем Java в контейнерах, Kubernetes, облаке или во всех сразу. По крайней мере, так они говорят. Теперь вот выпуск для старомодных среди нас: сервер приложений! По-видимому, они еще не вымерли. Итак, что нового?

“Подсистема операторов реактивных потоков микропрофиля” теперь обновлена до версии 2.0 , пароли клиентов могут указывать набор символов и кодировку хэша , поддерживается более старый протокол SSL , и мы можем использовать несколько списков отзыва сертификатов SSL .

Что не в релизе?

Джакарта EE 9 поддержка. Да, это все еще в ” Предварительный просмотр WildFly “. И вот предложение, которое, как вы надеетесь, вы никогда не читали о своем сервере приложений: “24.0.0.Финальный выпуск предварительного просмотра WildFly хорошо работает на 16-й версии SE и 17-й версии раннего доступа для большинства вариантов использования” (основные моменты мои). В случае, если вы не являетесь “большинством вариантов использования”, вам придется еще немного подождать поддержки Java 16 в WildFly. До тех пор придерживайтесь Java 8 или 11.

Объявление

О

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

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

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

Оригинал: “https://dev.to/ksilz/how-to-build-java-applications-today-june-21-2021-2d8h”