How a Group of Developers Took Back Control from Enterprise Java | Spring: The Documentary (Рубрика #Software)
Посмотрел на выходных документалку про Spring. Я люблю такие фильмы про технологии: они показывают не только что появилось, но и какую боль технология изначально пыталась снять. История Spring особенно хорошая: это не просто рассказ про популярный Java framework, а история про то, как разработчики устали от тяжелой enterprise-модели и начали возвращать себе контроль над кодом.
В начале 2000-х Enterprise Java выглядела очень солидно: спецификации, application servers, EJB, XML-дескрипторы, контейнеры, большие vendor'ы. Все как будто было устроено “по-взрослому”. Но для обычной разработки это часто означало медленный цикл обратной связи, сложное тестирование и ощущение, что простая бизнес-логика внезапно требует слишком много инфраструктурной магии.
Spring появился как ответ на это трение. Rod Johnson сначала сформулировал критику тогдашнего J2EE-подхода в книге "Expert One-on-One J2EE Design and Development", а код из приложения к книге постепенно превратился в Spring. Мне нравится, что альтернатива пришла не как очередная большая спецификация сверху, а как практичный набор инженерных принципов снизу: POJO вместо тяжелых компонентов, Dependency injection и Inversion of Control вместо жесткой связки с контейнером. Тестируемость как нормальное требование к дизайну. Композиция объектов вместо ощущения, что настоящая архитектура обязательно должна быть спрятана в application server. По сути, Spring сказал разработчикам: бизнес-логика снова может быть обычным Java-кодом. Ее можно читать, подменять зависимости, тестировать отдельно и постепенно встраивать в большую систему. Сегодня это звучит почти банально, но тогда в этом был сильный архитектурный сдвиг.
Отдельно интересно, что Spring не остановился на первой победе. Со временем он сам стал большим ecosystem, со своей конфигурацией, conventions и complexity. Следующим шагом стал Spring Boot: меньше ручной настройки, sensible defaults, embedded server, быстрый старт приложения. Boot хорошо попал в эпоху microservices, containers и cloud-native разработки, где старый подход “сначала собери всю enterprise-инфраструктуру вокруг приложения” снова стал слишком тяжелым.
Но у этой истории есть и вторая сторона. Когда технология выигрывает, она становится инфраструктурой. А инфраструктура обрастает legacy, версиями, upgrade cost, security-патчами, совместимостью и long-term maintenance. Spring начинался как способ вернуть контроль разработчикам, а теперь сам является частью огромного enterprise landscape, которым нужно управлять аккуратно. Забавно, что главный спонсор этого фильма - компания HeroDevs, которая саппортит код legacy приложений, которые живут на фреймворках и библиотеках, что давно уже вышли из цикла поддержки, но никто не готов переписывать сами бизнес-приложения. В итоге, ребята из HeroDevs занимаются таким maintenance и фиксят в основном уязвимости в старой кодовой базе.
Для меня главный вывод такой: сильные технологии часто появляются не из желания “сделать еще один framework”, а из желания убрать трение между идеей, кодом, тестом и production. Они побеждают не только фичами, а тем, что меняют повседневный опыт разработчика.
#Software #Java #Spring #Architecture #Engineering #OpenSource #History
Посмотрел на выходных документалку про Spring. Я люблю такие фильмы про технологии: они показывают не только что появилось, но и какую боль технология изначально пыталась снять. История Spring особенно хорошая: это не просто рассказ про популярный Java framework, а история про то, как разработчики устали от тяжелой enterprise-модели и начали возвращать себе контроль над кодом.
В начале 2000-х Enterprise Java выглядела очень солидно: спецификации, application servers, EJB, XML-дескрипторы, контейнеры, большие vendor'ы. Все как будто было устроено “по-взрослому”. Но для обычной разработки это часто означало медленный цикл обратной связи, сложное тестирование и ощущение, что простая бизнес-логика внезапно требует слишком много инфраструктурной магии.
Spring появился как ответ на это трение. Rod Johnson сначала сформулировал критику тогдашнего J2EE-подхода в книге "Expert One-on-One J2EE Design and Development", а код из приложения к книге постепенно превратился в Spring. Мне нравится, что альтернатива пришла не как очередная большая спецификация сверху, а как практичный набор инженерных принципов снизу: POJO вместо тяжелых компонентов, Dependency injection и Inversion of Control вместо жесткой связки с контейнером. Тестируемость как нормальное требование к дизайну. Композиция объектов вместо ощущения, что настоящая архитектура обязательно должна быть спрятана в application server. По сути, Spring сказал разработчикам: бизнес-логика снова может быть обычным Java-кодом. Ее можно читать, подменять зависимости, тестировать отдельно и постепенно встраивать в большую систему. Сегодня это звучит почти банально, но тогда в этом был сильный архитектурный сдвиг.
Отдельно интересно, что Spring не остановился на первой победе. Со временем он сам стал большим ecosystem, со своей конфигурацией, conventions и complexity. Следующим шагом стал Spring Boot: меньше ручной настройки, sensible defaults, embedded server, быстрый старт приложения. Boot хорошо попал в эпоху microservices, containers и cloud-native разработки, где старый подход “сначала собери всю enterprise-инфраструктуру вокруг приложения” снова стал слишком тяжелым.
Но у этой истории есть и вторая сторона. Когда технология выигрывает, она становится инфраструктурой. А инфраструктура обрастает legacy, версиями, upgrade cost, security-патчами, совместимостью и long-term maintenance. Spring начинался как способ вернуть контроль разработчикам, а теперь сам является частью огромного enterprise landscape, которым нужно управлять аккуратно. Забавно, что главный спонсор этого фильма - компания HeroDevs, которая саппортит код legacy приложений, которые живут на фреймворках и библиотеках, что давно уже вышли из цикла поддержки, но никто не готов переписывать сами бизнес-приложения. В итоге, ребята из HeroDevs занимаются таким maintenance и фиксят в основном уязвимости в старой кодовой базе.
Для меня главный вывод такой: сильные технологии часто появляются не из желания “сделать еще один framework”, а из желания убрать трение между идеей, кодом, тестом и production. Они побеждают не только фичами, а тем, что меняют повседневный опыт разработчика.
#Software #Java #Spring #Architecture #Engineering #OpenSource #History
YouTube
How a Group of Developers Took Back Control from Enterprise Java | Spring: The Documentary
In the early 2000s, Java enterprise development had become a bureaucratic nightmare: a proliferation of untestable Java artefacts, heavyweight application servers, and ivory-tower standards disconnected from the realities of building software.
Then Rod Johnson…
Then Rod Johnson…
🔥6❤4👍4