Как стать автором
Обновить

Комментарии 8

Выбор Спринга в большинстве проектов обусловлен развитой экосистемой, кучей обучающих материалов и компактным набором паттернов. Это вообще не про перфоманс ни разу, а про возможность нанять на проект 2-3 сотни одинаково посредственных разработчиков, которые в одинаковой манере пишут код. Просто, бизнес так устроен. Большая часть энтерпрайза — это унылые однотипные crud микросервисы, где 90% серверного времени сервис тупо ждёт сеть.

Те у кого есть возможность выбирать стек скорее возьмут Rust, чем очередной прорывной жаба-фреймворк.

скорее антипаттернов. если бы спринг остался на уровне core DI framework, к нему было бы сильно меньше претензий :)) однако он оброс тонной библиотек повторяющих одни и те же плохие подходы и жестко завязанных на spring core, вместо развития творчества людей огромную часть индустрии перегнали из ящика j2ee в ящик спринга.

Это вообще не про перфоманс ни разу, а про возможность нанять на проект 2-3 сотни одинаково посредственных разработчиков, которые в одинаковой манере пишут код.

Если бы сами писали, а то копирут, непонимая, что делают: "В прошлом проекте работало!".

Все пишут "микросервисы" на Spring Boot, которые не влазят на виртуалку с 4Гб памяти, а на большее нет денег. Еще тот бизнес!

Вообще не понимаю, почему вдруг DI стал проблемой, когда есть annotation processors на этапе компиляции. Micronaut тому пример

Проблема не в DI, а в том, что в большинстве java-фреймворков, и в частности в Spring, почти всё делается с помощью рефлексии и прокси-объектов. Микронавт - редкое исключение, но и он опирается на пока не стандартизированный Java Compiler API, что несколько настораживает.

Проблема не в DI, а в том, что в большинстве java-фреймворков, и в частности в Spring, почти всё делается с помощью рефлексии и прокси-объектов

Большинство это видимо спринг и ныне живущие больше в виде легаси apllication serverа со своим DI?
По-моему за пределами спринга большинство популярных DI уже живут в compile time-микровант, кваркус, даггер

Упомянутый в статье microprofile - это CDI с рефлексией. Dagger стоит сравнивать с Guice по частоте и области применения, окажется, что первый применяют в основном в Android, где на рефлексию не хватает ресурсов. Аналогично стоит сравнивать долю рынка кваркуса и микронавта со спрингом, разрыв впечатляет. У Java печально мало работы происходит во время компиляции по сравнению даже с другими языками на той же платформе, не говоря уж о каком-нибудь там Rust.

Упомянутый в статье microprofile - это CDI с рефлексией

Как раз для этого был выпущен CDI lite, который легко реализуется без рефлексии.

Dagger стоит сравнивать с Guice по частоте и области применения, окажется, что первый применяют в основном в Android, где на рефлексию не хватает ресурсов.

Ну например при использовании в авс лямбде даггер достаточно дефолтный DI на текущий момент. Я его как раз упоменул именно потому что периодически всетрчал в бэке за последние годы.

Аналогично стоит сравнивать долю рынка кваркуса и микронавта со спрингом, разрыв впечатляет

Да, спринг к сожалению слишком популярен.

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

Да пожалуй нет, в джаве в целом нет с этим проблем, выше упомянутые кваркусы и микронавты тому пример. Проблемы у спринга, который очень популярен, но не у джавы в целом.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий