«Мы проводим опрос «Состояние Java» уже много лет, чтобы получить хорошее представление о состоянии экосистемы Java. В прошлом году 2250 Java-разработчиков решили найти время, чтобы ответить на вопросы, и поэтому замечательно, что в этом году их число почти удвоилось — мы получили 4439 ответов.

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

Давайте сразу приступим к внедрению Java.

1. Внедрение Java

По данным за 2016 г., внедрение Java 7 составило 29,5%, а Java 8 — 64,3%.

Сегодняшние цифры — апрель 2017 года (ровно год спустя) — выглядят совсем по-другому:

Как видите, Java 8 приняла 75% сообщества разработчиков.

Это очень обнадеживает, и это также означает, что мы полностью готовы к появлению Java 9.

Далее давайте посмотрим на числа Spring и Spring Boot.

2. Весеннее внедрение

В 2016 году доля использования Spring 4 составила 81%, а Spring 3 — 18%.

Давайте теперь посмотрим на цифры за 2017 год:

Spring 4 увеличился с 81% до 85%, а Spring 3 снизился с 18% до примерно 12% в течение года.

Что также довольно интересно, так это то, что более 2% разработчиков используют вехи Spring 5, что намного выше, чем 1%, использующих вехи Java 9.

Наконец, обратите внимание, что эти числа представляют разработчиков, использующих Spring. В целом 25,5% разработчиков ответили, что не используют фреймворк.

3. Принятие Spring Boot

Boot получает невероятное распространение в экосистеме Spring — это ясно. В прошлом году количество внедрений составило 53 %, что очень много, учитывая, насколько новым на самом деле является проект.

Что ж, в этом году рост по-прежнему будет сильным:

Мы можем видеть, что в сумме число пользователей Boot подскочило с 53% до 70%, что является огромным ростом по сравнению с прошлым годом.

4. Доля рынка IDE

Пришло время взглянуть на долю рынка IDE в 2017 году:

В прошлом году тенденция была довольно ясной: Eclipse переводит пользователей на IntelliJ и NetBeans.

В прошлом году показатель Eclipse был на приличных 48%, а сейчас он составляет 40,5%, что является серьезным падением, выражающимся почти двузначным числом, за один год.

5. Языки JVM

В этом году мы задали в опросе новый вопрос: «Используете ли вы другие языки на основе JVM?».

Вот очень интересные результаты:

Groovy явно лидирует с сильными 40%, Scala следует его примеру с более чем 28,5%, а Kotlin занимает третье место с удивительными 11,5%.

Обратите внимание, что эти данные адаптированы для ответов «да» — разработчиков, использующих другие языки JVM. В целом 57% разработчиков используют только Java.

6. Доля рынка инструментов для сборки

Впереди инструменты для сборки. В прошлом году у Maven было 72,5%, а у Gradle — 19%.

Что ж, в этом году цифры довольно близки — удивительно, Maven постепенно набирает обороты и сейчас составляет 76%, а Gradle лишь немного снизился до 18%.

Рынок инструментов сборки кажется намного более стабильным, чем остальная часть экосистемы Java, где все меняется намного больше и намного быстрее.

7. Ведете собственный блог?

Мы добавили этот вопрос в опрос из чистого любопытства. Вот результаты:

Будем надеяться, что все больше и больше разработчиков начнут писать и публиковать свои работы.

8. Заключение

Цифры за 2017 год весьма интересны и в некоторых отношениях несколько удивительны.

Внедрение Java 8 достигло 75 %, всего за несколько месяцев до общедоступной версии Java 9.

Сообщество Spring полностью приняло Spring 4 — более 85 % — и Spring Boot достигло 70 %, а это означает, что большинство разработчиков Spring также активно используют новый фреймворк.

Что касается IDE, то IntelliJ отбирает долю рынка у Eclipse с той же эффективностью, что и в прошлом году, и в ближайшем будущем не будет никаких признаков замедления.

«Ландшафт сборки намного спокойнее, Maven продолжает оставаться доминирующим игроком и фактически набирает силу, несмотря на отсутствие крупных релизов в прошлом году.

И, наконец, языки JVM также набирают популярность, учитывая, что почти половина разработчиков, принявших участие в опросе, активно используют второй язык.

Этот год будет интересным для сообщества Java.