Последние пару недель я провожу ежегодный опрос «Состояние Java». Опрос проводится уже пятый год и, естественно, самый масштабный: 5160 разработчиков нашли время, чтобы пройти и ответить.
Давайте сразу перейдем к данным.
1. Принятие Java
Неудивительно, что Java 8 до сих пор используется большинством сообщества разработчиков:
iFrame should be here.
Принятие Java 9 и 10 все еще довольно низкое, менее 5%.
Для справки: в 2017 году цифры для Java 7 и более ранних версий составляли около 24,4%, а сейчас — 10,6%, поэтому экосистема явно обновляется, в основном до Java 8.
2. Весеннее усыновление
Давайте теперь посмотрим на числа Spring:
iFrame should be here.
Здесь переход к Spring 5 очевиден: 24% систем с поддержкой Spring работают на последней версии в производственной среде по сравнению с 2,2% в самом начале прошлого года.
И, конечно же, в этом году у нас также есть четкие цифры по Java EE, поскольку — хотите верьте, хотите нет — не все используют Spring 🙂
3. Принятие весенней загрузки
Из систем, созданных с помощью Spring, почти все они также используют Boot в производстве:
iFrame should be here.
Что здесь удивительно, так это то, как быстро Spring Boot 2 принимается , учитывая, что GA вышла всего 2 месяца назад, а она уже имеет колоссальные 30% внедрения.
Доля «Boot 1.4 и старше» упала с 30% год назад до 6,8% сейчас, а это означает, что толпа Boot перемещается и обновляется намного быстрее, чем более широкая экосистема.
Наконец, в прошлом году около 30,2% приложений на основе Spring использовали только базовую структуру, но не Boot; сейчас это число составляет всего 16,7%. Проще говоря, большинство приложений Spring теперь используют Boot.
4. Использование инструментов сборки
Мейвен никуда не денется. В прошлом году инструмент имел комфортные 75,7%, а сейчас он контролирует 74,2% рынка:
iFrame should be here.
Что касается Gradle, то он отхватил немного больше рынка, в основном у Ant, и теперь занимает лишь 1/5 рынка — 21,3%.
5. Внедрение IDE
Цифры IDE всегда интересны, и этот год ничем не отличается:
iFrame should be here.
IntelliJ вырос с 45,8% в 2017 году до колоссальных 55,4% сегодня, явно выиграв битву IDE в пространстве Java в этом году.
NetBeans, к разочарованию нескольких активных сторонников, в этом году упал до 5,1%, что составляет менее половины от 12,4% показателей 2017 года.
И Eclipse, похоже, несколько остановил кровотечение и упал всего на 2% в течение этого года до 38% рынка.
Что интересно здесь, так это то, что большая часть доли рынка, полученная IntelliJ, как ни удивительно, приходится на NetBeans, а не на Eclipse.
6. Принятие веб-сервера/сервера приложений
Вот как сегодня выглядит серверный ландшафт:
iFrame should be here.
На самом деле это новый вопрос в опросе, поэтому нет данных за 2017 год, с которыми можно было бы сравнить данные, но вывод ясен и совсем не удивителен.
Проще говоря, Tomcat владеет рынком с большей популярностью, чем все остальные вместе взятые, с 62,5%.
Остальные серверы, по-видимому, используются примерно 5% рынка при относительно равномерном распределении.
7. Другие языки JVM
Напоследок — какие еще языки на основе JVM используются?
Во-первых, 62,8% проектов одноязычные, только на Java.
Вот как выглядит экосистема:
iFrame should be here.
Вот взгляд только на перспективные проекты, которые используют другие языки:
iFrame should be here.
Главный вывод здесь, конечно же, Kotlin, у которого был сумасшедший год, подскочивший с 11,4% в 2017 году до 28,8% сегодня .
На Scala тоже интересно посмотреть: в течение этого года ее доля увеличилась с 28,4% до 21,6%.
8. Заключение
Этот взгляд на экосистему Java в 2018 году, безусловно, был интересным, поскольку он подтвердил некоторые уже известные тенденции и выявил некоторые новые.
Spring Boot теперь является частью большинства проектов Spring , что уже не удивительно, но все равно является огромным достижением, учитывая относительно короткие сроки проекта.
Что касается IDE, IntelliJ по-прежнему развивается высокими темпами. И, очень тесно связанный с этим, Kotlin, пожалуй, самый крупный «победитель» в этом году , полностью изменивший ландшафт языков JVM.
В целом, очень крутой взгляд на сообщество Java, и большое спасибо всем, кто принял участие.